ORを使用して2つの列に基づいてデータフレームをフィルタリングする

シェナニゲーター

ユーザー属性の更新時間を短縮するために、データフレームをフィルタリングする必要があります。

+----------+------------+------------+
| userCol1 |  dateCol1  |  dateCol2  |
+----------+------------+------------+
| user1    | 2020-01-16 | 2019-12-30 |
| user2    | 2019-10-31 | 2020-01-12 |
| user3    | 2019-08-15 | 2019-09-30 |
| user4    | 2019-08-25 | NaN        |
+----------+------------+------------+

上記はデータフレームの例です。私はどちらかの最新の日付ことをすべてのユーザーのためにそれをフィルタリングする必要がありますdatecol1datecol2 is <= today-90 days上記の例では、上記データフレームをもたらすはずであるuser2user4処理のためのデータフレームに残さ。

私が書いたコード(そしてテストしていないので、それが機能するかどうかはわかりません)は、データフレームをフィルタリングせず、代わりに全体をループしようとします。これがコードです。

 for row in df3.itertuples() :
     print(row.username)
     print(row.Password_Last_Set)
     print(row.Password_Last_forgot)
     if row.Password_Last_Forgot is 'NaN' and row.Password_Last_Set <= today.timedelta(days=90) :
         print('password expired based on last set, no forgot passwords')
     elif row.Password_Last_Forgot is not 'NaN' and row.Password_Last_Forgot > row.Password_Last_Set and row.Password_Last_Forgot <= today.timedelta(days=90) :
         print('password expired based on last forgot')
      elif row.Password_Last_Forgot is not 'NaN' and row.Password_Last_Forgot < row.Password_Last_Set and row.Password_Last_Set <= today.timedelta(days=90) :
         print('password expired based on last set')

ユーザーをループして残りのユーザーに対してアクションを実行する前に、どのようにフィルタリングできますか?

ジェズリール

使用boolean indexingしてmax、最新の日時について:

df[['dateCol1','dateCol2']] = df[['dateCol1','dateCol2']].apply(pd.to_datetime)

cols = ['dateCol1','dateCol2']
df1 = df.loc[df[cols].max(axis=1)<=pd.Timestamp.now() - pd.Timedelta(90, unit='d'), 'userCol1']
print (df1)
2    user3
3    user4
Name: userCol1, dtype: object

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

2つの列間の一致する値(正確)に基づいてデータフレームをフィルタリングします

分類Dev

列内の文字列に基づいてデータフレームをフィルタリングする

分類Dev

purrrを使用して、ネストされたデータフレーム列のデータに基づいてフィルタリングする

分類Dev

Pythonの別のデータフレームの2列に基づいてデータフレームをフィルタリングする

分類Dev

複数の列のNAに基づいてデータフレームをフィルタリングする

分類Dev

列の値に基づいてデータフレームの行をフィルタリングする

分類Dev

Pythonで配列の値に基づいてデータフレームをフィルタリングする

分類Dev

Sparkデータフレームscalaの列値に基づいて行をフィルタリングする

分類Dev

部分的な文字列の一致に基づいてパンダを使用してPythonでデータフレームをフィルタリングする

分類Dev

2つの列間の時間差に基づいてpysparkデータフレームをフィルタリングします

分類Dev

2つの列に基づいてパンダデータフレームをフィルタリングする

分類Dev

2つの列の組み合わせに基づいてPandasデータフレームをフィルタリングする

分類Dev

2つの日付の間でフィルタリングされた時間に基づいて新しいデータフレームを作成する方法

分類Dev

パンダの他のデータフレームに基づいて1つのデータフレームをフィルタリングする

分類Dev

別の列のnull値に基づいてデータフレーム列の値をフィルタリングするpythonデータフレーム

分類Dev

別の列のnull値に基づいてデータフレーム列の値をフィルタリングするpythonデータフレーム

分類Dev

リスト値に基づいてデータフレーム列をフィルタリングする

分類Dev

リストに基づいてデータフレーム列をフィルタリングする

分類Dev

日付列に基づいてデータフレームをフィルタリングするパンダ

分類Dev

2つの列に基づいてパンダデータフレームをリサンプルする

分類Dev

別のデータフレームの列値に基づいてデータフレームをフィルタリングする

分類Dev

forループを使用して複数のデータフレームのIDに基づいて行をフィルタリングする

分類Dev

データフレームBの列に基づいてデータフレームAをフィルタリングする

分類Dev

データフレームのリストの1つの列に基づいて行をフィルタリングする

分類Dev

2つのデータフレームを比較し、rの値に基づいて値をフィルタリングします

分類Dev

JavaScriptを使用して2つの変数に基づいてカードをフィルタリングする

分類Dev

行の値の頻度に基づいてデータフレームをフィルタリングする

分類Dev

pandasデータフレームの特定の条件に基づいて行をフィルタリングする

分類Dev

Pyspark:複数の条件に基づいてデータフレームをフィルタリングします

Related 関連記事

  1. 1

    2つの列間の一致する値(正確)に基づいてデータフレームをフィルタリングします

  2. 2

    列内の文字列に基づいてデータフレームをフィルタリングする

  3. 3

    purrrを使用して、ネストされたデータフレーム列のデータに基づいてフィルタリングする

  4. 4

    Pythonの別のデータフレームの2列に基づいてデータフレームをフィルタリングする

  5. 5

    複数の列のNAに基づいてデータフレームをフィルタリングする

  6. 6

    列の値に基づいてデータフレームの行をフィルタリングする

  7. 7

    Pythonで配列の値に基づいてデータフレームをフィルタリングする

  8. 8

    Sparkデータフレームscalaの列値に基づいて行をフィルタリングする

  9. 9

    部分的な文字列の一致に基づいてパンダを使用してPythonでデータフレームをフィルタリングする

  10. 10

    2つの列間の時間差に基づいてpysparkデータフレームをフィルタリングします

  11. 11

    2つの列に基づいてパンダデータフレームをフィルタリングする

  12. 12

    2つの列の組み合わせに基づいてPandasデータフレームをフィルタリングする

  13. 13

    2つの日付の間でフィルタリングされた時間に基づいて新しいデータフレームを作成する方法

  14. 14

    パンダの他のデータフレームに基づいて1つのデータフレームをフィルタリングする

  15. 15

    別の列のnull値に基づいてデータフレーム列の値をフィルタリングするpythonデータフレーム

  16. 16

    別の列のnull値に基づいてデータフレーム列の値をフィルタリングするpythonデータフレーム

  17. 17

    リスト値に基づいてデータフレーム列をフィルタリングする

  18. 18

    リストに基づいてデータフレーム列をフィルタリングする

  19. 19

    日付列に基づいてデータフレームをフィルタリングするパンダ

  20. 20

    2つの列に基づいてパンダデータフレームをリサンプルする

  21. 21

    別のデータフレームの列値に基づいてデータフレームをフィルタリングする

  22. 22

    forループを使用して複数のデータフレームのIDに基づいて行をフィルタリングする

  23. 23

    データフレームBの列に基づいてデータフレームAをフィルタリングする

  24. 24

    データフレームのリストの1つの列に基づいて行をフィルタリングする

  25. 25

    2つのデータフレームを比較し、rの値に基づいて値をフィルタリングします

  26. 26

    JavaScriptを使用して2つの変数に基づいてカードをフィルタリングする

  27. 27

    行の値の頻度に基づいてデータフレームをフィルタリングする

  28. 28

    pandasデータフレームの特定の条件に基づいて行をフィルタリングする

  29. 29

    Pyspark:複数の条件に基づいてデータフレームをフィルタリングします

ホットタグ

アーカイブ