データフレームの条件に基づいて重複を排除する

dfahsjdahfsudaf

これは私のデータフレームです:

Fruits         Person        Eat

Banana         Peter         Yes 
Banana         Ashley        Yes
Strawberry     Peter         No
Strawberry     Ashley        Yes 
Cherry         Peter         Yes
Orange         Peter         No
Orange         Ashley        No
Grape          Ashley        Yes
Pear           Ashley        Yes
Pear           Peter         Yes

データフレームに重複する果物があります。次のロジックに基づいて重複を削除する必要があります。重複する果物があり、ピーターとアシュリーの両方がそれを食べる場合、ピーターの行は保持され、アシュリーの行は削除されます。重複する果物があり、ピーターがそれを食べず、アシュリーがそれを食べる場合、ピーターの行は削除され、アシュリーの行は残ります。重複する果物があり、ピーターがそれを食べず、アシュリーがそれを食べない場合、両方の行が削除されます。

このロジックでは、データフレームは次のように出力されます。

Fruits         Person        Eat

Banana         Peter         Yes 
Strawberry     Ashley        Yes 
Cherry         Peter         Yes
Grape          Ashley        Yes
Pear           Peter         Yes

これらの条件でパンダのデータフレームを反復処理して重複を削除する方法がわかりません。一般的に、最初の条件では、次のようなことを行います。

data = [
    {
        "fruit": "Apple",
        "person": "Ashley",
        "eats": True
    },
    {
        "fruit": "Apple",
        "person": "Peter",
        "eats": True
    }
]
eats = dict()

for i, row in enumerate(data):
    fruit = row["fruit"]
person = row["person"]
does_eat = row["eats"]
# mark whether person eats fruit
if not eats.get(person):
    eats[person] = dict()

# if person does eat, record row number for later deletion if needed if does_eat:
eats[person][fruit] = i

# dedup
if person == "Peter" and eats.get("Peter") and eats["Peter"].get(fruit):
    data.pop(eats["Ashley"][fruit])
elif person == "Ashley" and eats.get("Peter") and eats["Peter"].get(fruit):
    data.pop(i)

私のデータフレームでこれを行う方法に関するヘルプ/ヒントをいただければ幸いです。

アンディL。

これを試して:

df1 = (df[df.Eat.eq('Yes')].sort_values('Person')
                           .drop_duplicates(subset='Fruits', keep='last'))

Out[14]:
       Fruits  Person  Eat
3  Strawberry  Ashley  Yes
7       Grape  Ashley  Yes
0      Banana   Peter  Yes
4      Cherry   Peter  Yes
9        Pear   Peter  Yes

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

Pythonデータフレーム:特定の条件に基づいて重複を削除する

分類Dev

他のデータフレームの列に基づいて、データフレームの列を重複排除します

分類Dev

条件に基づいてパンダデータフレームの重複行を削除します

分類Dev

条件に基づいてパンダデータフレームの重複行を削除します

分類Dev

R:条件に基づいてデータフレームの重複行を選択します

分類Dev

重複する値に基づいてデータフレームの列を更新する必要がある

分類Dev

*部分的な*行の重複に基づいてデータフレームをマージする方法は?

分類Dev

Rの条件に基づいてデータフレーム内の複数の列をマージする

分類Dev

パンダのデータフレームをマージし、条件に基づいて重複する行を削除します

分類Dev

重複に基づいてデータフレームの値を変更する-python

分類Dev

パンダの複数の条件に基づいて新しいデータフレームを追加する

分類Dev

別のデータフレームからの複数の列条件に基づいて列を作成する

分類Dev

複数の条件に基づいて2つのパンダデータフレームを結合する

分類Dev

パンダ-データフレームの複数の条件に基づいて列を操作する

分類Dev

複数の行条件に基づいて2つの異なるデータフレームを比較します

分類Dev

Pythonの複数の条件に基づいてデータフレームセルを強調表示する

分類Dev

複雑な条件の別の行に基づいてデータフレーム行を調整する

分類Dev

条件に基づいてデータフレームの行数を取得する

分類Dev

条件に基づいてデータフレームの行数を取得する

分類Dev

条件に基づいてデータフレームの値を変更する

分類Dev

条件に基づいてデータフレームの列を整理する

分類Dev

pandasデータフレームの条件に基づいて行を作成する

分類Dev

条件に基づいて2つのデータフレーム間で重複する領域を見つける方法

分類Dev

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

分類Dev

別の列に基づく条件でパンダデータフレームから重複を削除する

分類Dev

R:既存のデータフレームの複数の条件に基づいて新しいデータフレームを作成する

分類Dev

複数のデータフレームの条件に基づいて新しいデータフレームを作成する

分類Dev

列の条件に基づいてPandasデータフレームを複数のデータフレームに分割する

分類Dev

複数の条件を持つ別のデータフレームに基づいてデータフレームをサブセット化する

Related 関連記事

  1. 1

    Pythonデータフレーム:特定の条件に基づいて重複を削除する

  2. 2

    他のデータフレームの列に基づいて、データフレームの列を重複排除します

  3. 3

    条件に基づいてパンダデータフレームの重複行を削除します

  4. 4

    条件に基づいてパンダデータフレームの重複行を削除します

  5. 5

    R:条件に基づいてデータフレームの重複行を選択します

  6. 6

    重複する値に基づいてデータフレームの列を更新する必要がある

  7. 7

    *部分的な*行の重複に基づいてデータフレームをマージする方法は?

  8. 8

    Rの条件に基づいてデータフレーム内の複数の列をマージする

  9. 9

    パンダのデータフレームをマージし、条件に基づいて重複する行を削除します

  10. 10

    重複に基づいてデータフレームの値を変更する-python

  11. 11

    パンダの複数の条件に基づいて新しいデータフレームを追加する

  12. 12

    別のデータフレームからの複数の列条件に基づいて列を作成する

  13. 13

    複数の条件に基づいて2つのパンダデータフレームを結合する

  14. 14

    パンダ-データフレームの複数の条件に基づいて列を操作する

  15. 15

    複数の行条件に基づいて2つの異なるデータフレームを比較します

  16. 16

    Pythonの複数の条件に基づいてデータフレームセルを強調表示する

  17. 17

    複雑な条件の別の行に基づいてデータフレーム行を調整する

  18. 18

    条件に基づいてデータフレームの行数を取得する

  19. 19

    条件に基づいてデータフレームの行数を取得する

  20. 20

    条件に基づいてデータフレームの値を変更する

  21. 21

    条件に基づいてデータフレームの列を整理する

  22. 22

    pandasデータフレームの条件に基づいて行を作成する

  23. 23

    条件に基づいて2つのデータフレーム間で重複する領域を見つける方法

  24. 24

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

  25. 25

    別の列に基づく条件でパンダデータフレームから重複を削除する

  26. 26

    R:既存のデータフレームの複数の条件に基づいて新しいデータフレームを作成する

  27. 27

    複数のデータフレームの条件に基づいて新しいデータフレームを作成する

  28. 28

    列の条件に基づいてPandasデータフレームを複数のデータフレームに分割する

  29. 29

    複数の条件を持つ別のデータフレームに基づいてデータフレームをサブセット化する

ホットタグ

アーカイブ