首頁  >  文章  >  後端開發  >  可以使用運算子連結來過濾 Pandas 中的 DataFrame 行嗎?

可以使用運算子連結來過濾 Pandas 中的 DataFrame 行嗎?

DDD
DDD原創
2024-11-04 04:50:29998瀏覽

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

Pandas:使用運算子連結過濾 DataFrame 行

許多 Pandas 運算可以透過運算子連結執行,包括 groupby、aggregate 和 apply。然而,過濾行通常是使用傳統的括號索引完成的。

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 中的 DataFrame 行嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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