DataFrameで、特定の列に0が含まれるインデックスのリストを取得するにはどうすればよいですか?

DBless

特定の基準に基づいて変更する必要がある大規模なデータセットがあります。

データのサンプルは次のとおりです。

入力

   BL.DB  BL.KB  MI.RO  MI.RA  MI.XZ  MAY.BE
0      0      1      1      1      0       1
1      0      0      1      0      0       1

    SampleData1 = pd.DataFrame([[0,1,1,1,1],[0,0,1,0,0]],columns = 
    ['BL.DB',
     'BL.KB',
     'MI.RO',
     'MI.RA',
     'MI.XZ'])

このデータのフィールドはすべて「family.member」の形式であり、ファミリには任意の数のメンバーを含めることができます。ファミリーのすべてが0であるデータフレームのすべての行を削除する必要があります。

簡単に言えば、すべてのファミリの少なくとも1つのメンバーを含むデータの行のみを保持する必要があります。

どこから始めればよいかわからないため、この問題の再現可能なコードはありません。iterrows()の使用を検討しましたが、ドキュメントには次のように記載されています。

#You should **never modify** something you are iterating over.
#This is not guaranteed to work in all cases. Depending on the
#data types, the iterator returns a copy and not a view, and writing
#to it will have no effect.

SOに関する他の質問は、私たちの問題を完全には解決しません。

実行後のSampleDataの外観は次のとおりです。

期待される出力

    BL.DB  BL.KB  MI.RO  MI.RA  MI.XZ  MAY.BE
0      0      1      1      1      0       1
    SampleData1 = pd.DataFrame([[0,1,1,1,0]],columns = ['BL.DB',
    'BL.KB',
    'MI.RO',
    'MI.RA',
    'MI.XZ'])

また、forループを使用して常に反復するデータを変更しない理由と、DataFrameを変更する正しい方法を教えてください。

事前に助けてくれてありがとう!

アレクサンダー

基本的に、家族でグループ化し、行内のすべての家族に対して1つ以上のメンバーが存在する行を保持する必要があります。

これを行う1つの方法は、元のデータフレームを転置してから、期間のインデックスを分割し、ファミリ識別子である最初の要素を取得することです。列は、元のデータフレームのインデックス値です。

次に、ファミリをグループ化して(level=0)、レコードごとにそれぞれのメンバーの数を合計しdf2.groupby(level=0).sum()ます)。いいえ、各ファミリに複数のメンバーがあるインデックス値を保持します(.gt(0).all())。これらの値を使用してマスクを作成し、それを元のデータフレームのブールインデックスに適用して、関連する行を取得します。

df2 = SampleData1.T
df2.index = [idx.split('.')[0] for idx in df2.index]
# >>> df2
#     0  1
# BL  0  0
# BL  1  0
# MI  1  1
# MI  1  0
# MI  0  0

# >>> df2.groupby(level=0).sum()
#     0  1
# BL  1  0
# MI  2  1

mask = df2.groupby(level=0).sum().gt(0).all()

>>> SampleData1[mask]
   BL.DB  BL.KB  MI.RO  MI.RA  MI.XZ
0      0      1      1      1      0

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

インデックスのリストを含むnumpy配列のリストから値を取得するにはどうすればよいですか?

分類Dev

文字列が含まれている配列のインデックスを取得するにはどうすればよいですか?

分類Dev

文字列の特定のインデックスを取得するにはどうすればよいですか?

分類Dev

特定のテキストを含むクラスのデータインデックスを取得するにはどうすればよいですか?

分類Dev

リスト内のGameObjectインデックスを取得するにはどうすればよいですか?

分類Dev

多次元(ネストされた)配列の特定のアイテムのインデックスを取得するにはどうすればよいですか?

分類Dev

特定の文字列に一致する文字列型アイテム(サブリストに含まれる)のすべてのインデックスを見つけるにはどうすればよいですか?

分類Dev

ネストされた配列の状態から特定のインデックスを取得するにはどうすればよいですか?

分類Dev

リスト内の特定のインデックスにあるgameObjectを取得するにはどうすればよいですか?

分類Dev

配列の配列のインデックスを取得するにはどうすればよいですか?

分類Dev

特定のインデックスから数値を取得するにはどうすればよいですか?

分類Dev

リスト内の特定のアイテムの最後のインデックスを取得するにはどうすればよいですか?

分類Dev

data.framesのリストで特定のdata.frameのインデックスを取得するにはどうすればよいですか?

分類Dev

オプションリストの特定のインデックスで要素を取得するにはどうすればよいですか?

分類Dev

NA OR値<0を含む2列マトリックスの行のリストを取得するにはどうすればよいですか?

分類Dev

配列リストの配列に特定の値が含まれているかどうかを確認するにはどうすればよいですか?

分類Dev

動的配列の特定のインデックスを削除するにはどうすればよいですか?

分類Dev

インデックスの特定の配列からリスト内の要素をポップするにはどうすればよいですか?

分類Dev

MouseListenerで配列のインデックスを取得するにはどうすればよいですか?

分類Dev

Pythonで特定の文字列が含まれている場合、リスト内のアイテムを抽出するにはどうすればよいですか?

分類Dev

2つの1次元配列を接続するインデックスのリストを取得するにはどうすればよいですか?

分類Dev

返された配列リストの最初のインデックスの値を取得するにはどうすればよいですか?

分類Dev

numpy配列の要素のインデックスを取得するにはどうすればよいですか?

分類Dev

配列の最大値のインデックスを取得するにはどうすればよいですか?

分類Dev

Pythonで元のリストのソートされたリストのインデックスを取得するにはどうすればよいですか?

分類Dev

リストに特定の条件の文字列が含まれているかどうかを確認するにはどうすればよいですか

分類Dev

リストの文字が特定のセットに含まれているかどうかを確認するにはどうすればよいですか?

分類Dev

Spacyの文に含まれるエンティティのインデックスを取得するにはどうすればよいですか?

分類Dev

numpy配列のすべてのNaN値のインデックスリストを取得するにはどうすればよいですか?

Related 関連記事

  1. 1

    インデックスのリストを含むnumpy配列のリストから値を取得するにはどうすればよいですか?

  2. 2

    文字列が含まれている配列のインデックスを取得するにはどうすればよいですか?

  3. 3

    文字列の特定のインデックスを取得するにはどうすればよいですか?

  4. 4

    特定のテキストを含むクラスのデータインデックスを取得するにはどうすればよいですか?

  5. 5

    リスト内のGameObjectインデックスを取得するにはどうすればよいですか?

  6. 6

    多次元(ネストされた)配列の特定のアイテムのインデックスを取得するにはどうすればよいですか?

  7. 7

    特定の文字列に一致する文字列型アイテム(サブリストに含まれる)のすべてのインデックスを見つけるにはどうすればよいですか?

  8. 8

    ネストされた配列の状態から特定のインデックスを取得するにはどうすればよいですか?

  9. 9

    リスト内の特定のインデックスにあるgameObjectを取得するにはどうすればよいですか?

  10. 10

    配列の配列のインデックスを取得するにはどうすればよいですか?

  11. 11

    特定のインデックスから数値を取得するにはどうすればよいですか?

  12. 12

    リスト内の特定のアイテムの最後のインデックスを取得するにはどうすればよいですか?

  13. 13

    data.framesのリストで特定のdata.frameのインデックスを取得するにはどうすればよいですか?

  14. 14

    オプションリストの特定のインデックスで要素を取得するにはどうすればよいですか?

  15. 15

    NA OR値<0を含む2列マトリックスの行のリストを取得するにはどうすればよいですか?

  16. 16

    配列リストの配列に特定の値が含まれているかどうかを確認するにはどうすればよいですか?

  17. 17

    動的配列の特定のインデックスを削除するにはどうすればよいですか?

  18. 18

    インデックスの特定の配列からリスト内の要素をポップするにはどうすればよいですか?

  19. 19

    MouseListenerで配列のインデックスを取得するにはどうすればよいですか?

  20. 20

    Pythonで特定の文字列が含まれている場合、リスト内のアイテムを抽出するにはどうすればよいですか?

  21. 21

    2つの1次元配列を接続するインデックスのリストを取得するにはどうすればよいですか?

  22. 22

    返された配列リストの最初のインデックスの値を取得するにはどうすればよいですか?

  23. 23

    numpy配列の要素のインデックスを取得するにはどうすればよいですか?

  24. 24

    配列の最大値のインデックスを取得するにはどうすればよいですか?

  25. 25

    Pythonで元のリストのソートされたリストのインデックスを取得するにはどうすればよいですか?

  26. 26

    リストに特定の条件の文字列が含まれているかどうかを確認するにはどうすればよいですか

  27. 27

    リストの文字が特定のセットに含まれているかどうかを確認するにはどうすればよいですか?

  28. 28

    Spacyの文に含まれるエンティティのインデックスを取得するにはどうすればよいですか?

  29. 29

    numpy配列のすべてのNaN値のインデックスリストを取得するにはどうすればよいですか?

ホットタグ

アーカイブ