ホームページ  >  記事  >  バックエンド開発  >  演算子連鎖を使用して Pandas のデータフレーム行をフィルタリングできますか?

演算子連鎖を使用して Pandas のデータフレーム行をフィルタリングできますか?

DDD
DDDオリジナル
2024-11-04 04:50:29958ブラウズ

Can Operator Chaining Be Used to Filter DataFrame Rows in Pandas?

Pandas: 演算子連鎖によるデータフレーム行のフィルター

Groupby、aggregate、apply など、Pandas の多くの操作は演算子連鎖を通じて実行できます。ただし、行のフィルタリングは通常、従来のブラケット インデックスを使用して行われます。

df_filtered = df[df['column'] == value]

このアプローチでは、フィルタリングの前に df を変数に割り当てる必要があり、面倒な場合があります。フィルタ操作を連鎖させるもっと便利な方法はありますか?

回答:

質問に示されているコードの最後の行は不明瞭ですが、「連鎖」フィルタリングは次のように行うことができます。これは、ブール型インデックスで基準を連鎖させることによって実現されます。

df[(df.A == 1) & (df.D == 6)]

さらに、ユーザーは独自のマスク メソッドを定義し、それをフィルタリングに使用できます。

def mask(df, key, value):
    return df[df[key] == value]

pandas.DataFrame.mask = mask

df = pandas.DataFrame(np.random.randint(0, 10, (4,4)), index=list('abcd'), columns=list('ABCD'))

df.mask('A', 1)
df.mask('A', 1).mask('D', 6)

これにより、フィルター操作の便利な連鎖が可能になります。 .

以上が演算子連鎖を使用して Pandas のデータフレーム行をフィルタリングできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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