次のような単純な DataFrame があると仮定します。以下:
import pandas as pd from random import randint df = pd.DataFrame({'A': [randint(1, 9) for x in range(10)], 'B': [randint(1, 9)*10 for x in range(10)], 'C': [randint(1, 9)*100 for x in range(10)]})
私たちの目標は、列 'A' から次の値を選択することです。列 'B' と 'C' の対応する値について特定の基準を満たします。
これを実現するには、ブール型インデックスを利用できます。まず、各基準の Boolean Series オブジェクトを作成します。
df["B"] > 50 (df["B"] > 50) & (df["C"] != 900)
これらの Boolean Series は、それぞれの基準を満たす行を表します。次に、これらのシリーズをインデックスとして使用して、目的の値を選択できます。
df["A"][df["B"] > 50] df["A"][(df["B"] > 50) & (df["C"] != 900)]
より効率的なインデックス作成のために .loc 属性を使用することもできます。 .loc を使用すると、単一のステートメントを使用して取得する行と列を指定できます。
df.loc[(df["B"] > 50) & (df["C"] != 900), "A"]
どちらのメソッドも、複雑な基準に基づいて DataFrame から値を効果的に選択します。ブールインデックスを使用するか .loc を使用するかの選択は、個人の好みとコードの読みやすさによって決まります。
以上がPandas で複数の基準に基づいて DataFrame 値を選択する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。