少なくとも1つの行が条件を満たすデータフレーム内のすべての行をフィルタリングする

デビッドウォレン

顧客のリストと顧客が購入した製品のインスタンスを含むデータフレームがあります。特定の製品を少なくとも1回購入したすべての顧客を除外する新しいデータフレームを取得しようとしています。例えば:

d = {'Customer': ['Cust 1', 'Cust 1', 'Cust 2', 'Cust 1', 'Cust 2', 'Cust 2', 'Cust 3', 'Cust 3'], 
     'Product': [1, 1, 2, 1, 1, 2, 2, 1], 
     'PO': ['P1', 'P2', 'P3', 'P4', 'P5', 'P6', 'P7', 'P8']}

df = pd.DataFrame(data=d)
df

出力

| |Customer |Product   |PO        |
| |:--------|:---------|:---------|
|0| Cust 1  |  1       |  P1      |
|1| Cust 1  |  1       |  P2      |
|2| Cust 2  |  2       |  P3      |
|3| Cust 1  |  1       |  P4      |
|4| Cust 2  |  1       |  P5      |
|5| Cust 2  |  2       |  P6      |
|6| Cust 3  |  2       |  P7      |
|7| Cust 3  |  1       |  P8      |

他に何を購入したかに関係なく、いつでも製品2を購入した顧客を除外できるようにしたいと思います。

| |Customer |Product   |PO        |
| |:--------|:---------|:---------|
|0| Cust 1  |  1       |  P1      |
|1| Cust 1  |  1       |  P2      |
|2| Cust 1  |  1       |  P4      |

これを行う方法はありますか?どんな助けでも大歓迎です!

スコットボストン

あなたはそれをいくつかの方法で行うことができます:

  1. 使用するgroupbyfilterall

df.groupby('Customer').filter(lambda x: (x['Product'] != 2).all())

  1. ブールインデックスgroupby付きtransformおよびallブールインデックス付きの使用

df[df.groupby('Customer')['Product'].transform(lambda x: (x != 2).all())]

出力:

  Customer  Product  PO
0   Cust 1        1  P1
1   Cust 1        1  P2
3   Cust 1        1  P4

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

Pysparkデータフレームは、少なくとも1つの行が条件を満たす列のリストを取得します

分類Dev

少なくとも指定された数の列で条件が満たされない場合にデータフレーム内の行を削除する方法

分類Dev

少なくとも1つの行が条件を満たすGroupByオブジェクトをフィルタリングします

分類Dev

データフレーム内のすべての行を1)なし== 1および少なくとも1つの他の列== 1で表示します

分類Dev

少なくとも1つの特定の値を含むウィンドウでデータフレームをフィルタリングする

分類Dev

特定の行が1つの条件を満たすグループのすべての行をフィルタリングして返します

分類Dev

少なくとも6つの一致があるRの複数の列でデータフレームをフィルタリングする

分類Dev

グループの各行が少なくともN列の条件を満たす場合、dfのグループをフィルタリングします

分類Dev

条件を満たす少なくとも1つの要素を含む行を返します-複数の列で反復するdplyr :: filterを使用します-フィルタリングして適用します

分類Dev

特定の値の少なくとも1つを持つ行をフィルタリングする

分類Dev

Pandasデータフレームで、開始行と終了行の両方が異なる条件を満たすことに基づいて行のセットをフィルタリングするにはどうすればよいですか?

分類Dev

Sparkデータフレームは、その行の任意の列に少なくとも1つのnullまたは空白がある行を選択します

分類Dev

r-データフレーム内のすべての変数をフィルタリングして、同じ値を持つ変数のうち少なくとも2つを探します

分類Dev

Google Big Query:出力をフィルタリングして、ゼロ以外の値が少なくとも1つある行のみを表示する方法は?

分類Dev

少なくとも1つのnp.inf値があるPandasデータフレームの行を検索して返す

分類Dev

すべてのフィールドが正規表現条件を満たす行のみをフィルタリングする方法

分類Dev

少なくとも1つの行がMySQLの条件に一致する場合、すべてのグループレコードを取得します

分類Dev

別の条件を介して1つのデータフレームをフィルタリングする

分類Dev

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

分類Dev

グループ内の条件を満たす行の数をPandasデータフレームに追加します

分類Dev

Dojo データグリッドに少なくとも 1 つの行があることを検証する

分類Dev

パンダ:データフレーム内で少なくともn回発生する重複アイテムのデータフレームをフィルタリングする方法

分類Dev

データフレーム内の文字列の存在によって行をフィルタリングする

分類Dev

グループごとに少なくとも 1 つの行が条件を満たすグループを返す SQL サーバー

分類Dev

ActiveRecord:グループ内の少なくとも1つのレコードが条件を満たさない場合、グループを除外します

分類Dev

1以外の条件を満たしたすべての要素をフィルタリングするためのストリームを適用します

分類Dev

R-列数が基準を満たす含まれる行のみにデータフレームをフィルタリングします

分類Dev

グループ内で値が少なくとも1回表示されるすべての行を表示する

分類Dev

条件付きで行をフィルタリングするために膨大な数の行(パンダデータフレーム)を処理する

Related 関連記事

  1. 1

    Pysparkデータフレームは、少なくとも1つの行が条件を満たす列のリストを取得します

  2. 2

    少なくとも指定された数の列で条件が満たされない場合にデータフレーム内の行を削除する方法

  3. 3

    少なくとも1つの行が条件を満たすGroupByオブジェクトをフィルタリングします

  4. 4

    データフレーム内のすべての行を1)なし== 1および少なくとも1つの他の列== 1で表示します

  5. 5

    少なくとも1つの特定の値を含むウィンドウでデータフレームをフィルタリングする

  6. 6

    特定の行が1つの条件を満たすグループのすべての行をフィルタリングして返します

  7. 7

    少なくとも6つの一致があるRの複数の列でデータフレームをフィルタリングする

  8. 8

    グループの各行が少なくともN列の条件を満たす場合、dfのグループをフィルタリングします

  9. 9

    条件を満たす少なくとも1つの要素を含む行を返します-複数の列で反復するdplyr :: filterを使用します-フィルタリングして適用します

  10. 10

    特定の値の少なくとも1つを持つ行をフィルタリングする

  11. 11

    Pandasデータフレームで、開始行と終了行の両方が異なる条件を満たすことに基づいて行のセットをフィルタリングするにはどうすればよいですか?

  12. 12

    Sparkデータフレームは、その行の任意の列に少なくとも1つのnullまたは空白がある行を選択します

  13. 13

    r-データフレーム内のすべての変数をフィルタリングして、同じ値を持つ変数のうち少なくとも2つを探します

  14. 14

    Google Big Query:出力をフィルタリングして、ゼロ以外の値が少なくとも1つある行のみを表示する方法は?

  15. 15

    少なくとも1つのnp.inf値があるPandasデータフレームの行を検索して返す

  16. 16

    すべてのフィールドが正規表現条件を満たす行のみをフィルタリングする方法

  17. 17

    少なくとも1つの行がMySQLの条件に一致する場合、すべてのグループレコードを取得します

  18. 18

    別の条件を介して1つのデータフレームをフィルタリングする

  19. 19

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

  20. 20

    グループ内の条件を満たす行の数をPandasデータフレームに追加します

  21. 21

    Dojo データグリッドに少なくとも 1 つの行があることを検証する

  22. 22

    パンダ:データフレーム内で少なくともn回発生する重複アイテムのデータフレームをフィルタリングする方法

  23. 23

    データフレーム内の文字列の存在によって行をフィルタリングする

  24. 24

    グループごとに少なくとも 1 つの行が条件を満たすグループを返す SQL サーバー

  25. 25

    ActiveRecord:グループ内の少なくとも1つのレコードが条件を満たさない場合、グループを除外します

  26. 26

    1以外の条件を満たしたすべての要素をフィルタリングするためのストリームを適用します

  27. 27

    R-列数が基準を満たす含まれる行のみにデータフレームをフィルタリングします

  28. 28

    グループ内で値が少なくとも1回表示されるすべての行を表示する

  29. 29

    条件付きで行をフィルタリングするために膨大な数の行(パンダデータフレーム)を処理する

ホットタグ

アーカイブ