首頁 >後端開發 >Python教學 >Pandas 的算子連結如何提高行過濾效率?

Pandas 的算子連結如何提高行過濾效率?

Susan Sarandon
Susan Sarandon原創
2024-11-03 13:51:31170瀏覽

How Can Pandas' Operator Chaining Enhance Row Filtering Efficiency?

Pandas:使用運算符連結進行高效行過濾

pandas 的主要優點之一是其運算符連結功能,它允許無運算連結功能,它允許無算縫執行的多項操作。然而,過濾行的傳統方法,即使用括號索引(例如 df[df['column'] == value]),需要將 DataFrame 指派給變數。這可能會很不方便,並且可能會導致程式碼冗餘。

值得慶幸的是,有一種更有效的方法可以使用布林索引來連結過濾操作。透過利用邏輯運算子(&、|、^),可以將多個條件連結在一起以實現選擇性行過濾。

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

在此範例中,列「A」的值等於 1 的行,並且提取列「D」的值等於 6。

對於喜歡方法連結的用戶,可以實現自訂遮罩方法以促進行過濾。透過定義方法並將其指派給 DataFrame 類,過濾操作可以在任何方法呼叫後無縫連結。

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

pandas.DataFrame.mask = mask

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

此自訂遮罩方法允許簡潔和連結的過濾操作,從而提高效率和程式碼可讀性.

以上是Pandas 的算子連結如何提高行過濾效率?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn