ホームページ >バックエンド開発 >Python チュートリアル >Pandas で複数の基準に基づいて DataFrame 値を選択する方法

Pandas で複数の基準に基づいて DataFrame 値を選択する方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-05 13:09:10896ブラウズ

How to Select DataFrame Values Based on Multiple Criteria in Pandas?

pandas.DataFrame から複雑な基準で選択する

複数の基準に基づいて DataFrame から特定の値を選択する

次のような単純な 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 属性を使用することもできます。 .loc を使用すると、単一のステートメントを使用して取得する行と列を指定できます。

df.loc[(df["B"] > 50) & (df["C"] != 900), "A"]

結論

どちらのメソッドも、複雑な基準に基づいて DataFrame から値を効果的に選択します。ブールインデックスを使用するか .loc を使用するかの選択は、個人の好みとコードの読みやすさによって決まります。

以上がPandas で複数の基準に基づいて DataFrame 値を選択する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。