演算子連鎖による DataFrame の行のフィルタリング
パンダはさまざまな操作 (groupby、aggregate、apply) で演算子連鎖を広範にサポートしていますが、この方法で行をフィルタリングする機能は制限されているようです。代わりに、ユーザーは従来、行フィルタリングに角かっこインデックスを使用してきました。ただし、このアプローチでは、事前に DataFrame を変数に割り当てる必要があり、不便な場合があります。
この制限に対処するために、一部のユーザーは、ブール インデックス内でフィルタリング基準を連鎖させる可能性を検討しています。例:
df[(df.A == 1) & (df.D == 6)]
この構文では、複数の条件を組み合わせることで、簡潔かつ効率的なフィルタリングが可能です。
必要な機能がフィルタ条件ではなくメソッドをチェーンすることである場合、ユーザーはカスタム マスクを定義できます。基礎となるフィルタリング操作のメソッド ラッパーとして機能するメソッドです。
def mask(df, key, value): return df[df[key] == value]
このメソッドを DataFrame クラスに追加することで、
pandas.DataFrame.mask = mask
ユーザーはパンダのメソッド チェーン機能を活用できます。単一行のコードで複数のフィルタリング操作を実行するには:
df.mask('A', 1).mask('D', 6)
このアプローチは、DataFrame でフィルタリング操作を連鎖させるためのカスタマイズ可能で柔軟なソリューションを提供します。
以上が演算子連鎖は Pandas のデータフレーム行フィルタリングに使用できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。