パンダ-2つのデータフレームを日付で比較し、欠落している全体を見つけます

スコットマーティン

日と呼ばれる、月の一意の稼働日のリストを含むデータフレームがあります。

従業員が勤務を報告した日数のリストを含む別のデータフレームがあります。これはreportedと呼ばれます。

従業員が出勤しなかった日を見つけようとしています。

以下に、データフレームのサンプルビューを示します。

days
11/1/2018
11/2/2018
11/3/2018
11/4/2018
11/5/2018
11/6/2018
11/7/2018

報告されたと呼ばれるデータフレームのビュー:

emp_id, date
1001,11/1/2018
1001,11/2/2018
1002,11/1/2018
1002,11/3/2018
1003,11/3/2018

期待される出力(従業員が報告しなかった日数をリストします):

emp_id,date
1001,11/3/2018
1002,11/2/2018
1003,11/1/2018
1003,11/2/2018

更新最初のデータフレームを以下のように作成しました

import numpy as np
df_1 = np.sort(df_master.date.unique())
df_1_df = pd.DataFrame(df_1)
df_1_df.columns

RangeIndex(start=0, stop=1, step=1)
ジェズリール

あなたは必要mergeインナーその後、参加して、デフォルトでreindexすべてのユニークな値でemp_iddate最後の、mergeパラメータを指定してindicator=Trueいないと報告行をフィルタリングするため:

reported['date'] = pd.to_datetime(reported['date'])

df1 = reported.set_index(['emp_id', 'date'])
mux = pd.MultiIndex.from_product(df1.index.levels, names=df1.index.names)

df3 = (df1.reindex(mux)
         .reset_index()
         .merge(reported, indicator=True, how='outer')
         .query('_merge != "both"')
         .drop('_merge', axis=1))
print (df3)
   emp_id       date
2    1001 2018-11-03
4    1002 2018-11-02
6    1003 2018-11-01
7    1003 2018-11-02

別の解決策、@ IMCoinsのおかげisin~、ブールマスクを反転するためにwithフィルタリングしています

df2 = df1.reindex(mux)
df3 = df2[~df2.index.isin(df1.index)].reset_index()
print (df3)

   emp_id       date
0    1001 2018-11-03
1    1002 2018-11-02
2    1003 2018-11-01
3    1003 2018-11-02

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

パンダのデータフレームで欠落している値の中から最も近い有効な数値を見つけます

分類Dev

2つのパンダデータフレームの日付を比較し、日付が類似している場合は値を追加しますか?

分類Dev

インデックスで2つのパンダデータフレームをマージするが、欠落している値を埋める方法

分類Dev

パンダのデータフレーム内の間隔の日付で欠落している観測値を埋めます

分類Dev

パンダはパーセンタイルを見つけるために欠落している日付を無視します

分類Dev

欠落している日付をパンダデータフレームに追加する

分類Dev

pandasデータフレームで欠落しているペアを見つけてダミー値を入力する方法

分類Dev

Pythonパンダ:欠落している日付、時系列の行をgroupbyデータフレームに挿入します

分類Dev

パンダ-2つのデータフレームを比較し、変更された行を見つける

分類Dev

パンダのデータフレームを拡張して、「欠落している」週を含めます

分類Dev

パンダデータフレームの特定の値に等しい列に基づいて最小日付を見つけますか?

分類Dev

パンダデータフレーム、最大値を見つけて、行全体ではなく、隣接する列の値を返します

分類Dev

パンダデータフレーム、最大値を見つけて、行全体ではなく、隣接する列の値を返します

分類Dev

日付インデックスと欠落している日付を含むPandasデータフレームで次の日付を選択する方法

分類Dev

パンダは2つのデータフレームを比較して新しい列を作成します

分類Dev

2つのパンダデータフレームで一致する値を見つけて、一致する行から値を返します

分類Dev

パンダデータフレーム内のすべての最大値の平均を見つけるために、14日単位で繰り返します

分類Dev

Groupbyは、パンダのデータフレームで四半期ごとに日付を記入し、発生のカウントを見つけます

分類Dev

列の値に基づいてパンダの2つのデータフレームを比較します

分類Dev

パンダはデータフレームの2列でクロスセルを見つけています

分類Dev

2つのコンマ区切りの文字列を比較し、欠落している値を見つけます

分類Dev

パンダデータフレームで欠落している行の数をユーザーインデックスでカウントします

分類Dev

パンダ:インデックスと欠落値が異なる2つのデータフレームをマージします

分類Dev

パンダ:2つの異なるデータフレームの2つの列を比較して、新しい列を作成します

分類Dev

Pythonパンダデータフレームの欠落している行を繰り返しパターンで埋めます

分類Dev

パンダデータフレームで最後のイベントの日付を見つける方法

分類Dev

パンダは範囲からデータフレームに欠落している週を追加します

分類Dev

欠落している日付インデックスをデータフレームに追加する

分類Dev

パンダを使用して新しいデータフレームを返すために2つのデータフレームを比較する-Python

Related 関連記事

  1. 1

    パンダのデータフレームで欠落している値の中から最も近い有効な数値を見つけます

  2. 2

    2つのパンダデータフレームの日付を比較し、日付が類似している場合は値を追加しますか?

  3. 3

    インデックスで2つのパンダデータフレームをマージするが、欠落している値を埋める方法

  4. 4

    パンダのデータフレーム内の間隔の日付で欠落している観測値を埋めます

  5. 5

    パンダはパーセンタイルを見つけるために欠落している日付を無視します

  6. 6

    欠落している日付をパンダデータフレームに追加する

  7. 7

    pandasデータフレームで欠落しているペアを見つけてダミー値を入力する方法

  8. 8

    Pythonパンダ:欠落している日付、時系列の行をgroupbyデータフレームに挿入します

  9. 9

    パンダ-2つのデータフレームを比較し、変更された行を見つける

  10. 10

    パンダのデータフレームを拡張して、「欠落している」週を含めます

  11. 11

    パンダデータフレームの特定の値に等しい列に基づいて最小日付を見つけますか?

  12. 12

    パンダデータフレーム、最大値を見つけて、行全体ではなく、隣接する列の値を返します

  13. 13

    パンダデータフレーム、最大値を見つけて、行全体ではなく、隣接する列の値を返します

  14. 14

    日付インデックスと欠落している日付を含むPandasデータフレームで次の日付を選択する方法

  15. 15

    パンダは2つのデータフレームを比較して新しい列を作成します

  16. 16

    2つのパンダデータフレームで一致する値を見つけて、一致する行から値を返します

  17. 17

    パンダデータフレーム内のすべての最大値の平均を見つけるために、14日単位で繰り返します

  18. 18

    Groupbyは、パンダのデータフレームで四半期ごとに日付を記入し、発生のカウントを見つけます

  19. 19

    列の値に基づいてパンダの2つのデータフレームを比較します

  20. 20

    パンダはデータフレームの2列でクロスセルを見つけています

  21. 21

    2つのコンマ区切りの文字列を比較し、欠落している値を見つけます

  22. 22

    パンダデータフレームで欠落している行の数をユーザーインデックスでカウントします

  23. 23

    パンダ:インデックスと欠落値が異なる2つのデータフレームをマージします

  24. 24

    パンダ:2つの異なるデータフレームの2つの列を比較して、新しい列を作成します

  25. 25

    Pythonパンダデータフレームの欠落している行を繰り返しパターンで埋めます

  26. 26

    パンダデータフレームで最後のイベントの日付を見つける方法

  27. 27

    パンダは範囲からデータフレームに欠落している週を追加します

  28. 28

    欠落している日付インデックスをデータフレームに追加する

  29. 29

    パンダを使用して新しいデータフレームを返すために2つのデータフレームを比較する-Python

ホットタグ

アーカイブ