使用運算子連結過濾DataFrame 的行
雖然pandas 為各種操作(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
使用者可以利用pandas 的方法連結功能在一行程式碼中執行多個過濾操作:
df.mask('A', 1).mask('D', 6)
此方法為在DataFrame 上連結過濾操作提供了可自訂且靈活的解決方案。
以上是運算子連結可以用於 Pandas 中的 DataFrame 行過濾嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!