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

如何使用運算子連結過濾 Pandas DataFrame 中的行?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-03 15:36:30775瀏覽

How Can You Filter Rows in Pandas DataFrames with Operator Chaining?

使用運算符連結過濾 Pandas DataFrame 中的行

pandas 操作的靈活性允許方便的連結來完成資料操作任務。然而,過濾行傳統上需要手動括號索引,這可能很麻煩。

鍊式布林索引

使用運算符鏈過濾行的最直接方法是建立布林掩碼並用它索引DataFrame:

<code class="python">df_filtered = df[df['column'] == value]</code>

布林遮罩檢查指定列的每行值,並為符合的行傳回True。

連結自訂遮罩方法

或者,您可以使用自訂屏蔽方法擴充DataFrame 類別:

<code class="python">def mask(df, key, value):
    return df[df[key] == value]

pandas.DataFrame.mask = mask</code>

此方法採用DataFrameFrame 、列名稱和值作為參數,並選擇性地基於行屏蔽

<code class="python">df_filtered = df.mask('column', value)</code>

連結多個遮罩

鍊式運算子過濾允許透過組合多算符過濾個遮罩來實現複雜的條件:

<code class="python">df_filtered = df[
    (df['column1'] == value1) &
    (df['column2'] == value2) &
    ...
]</code>

總之,pandas 提供了兩種主要的鍊式行過濾方法:

  • 鍊式布林索引: 基於布林遮罩選擇性地索引行。
  • 連結自訂遮罩方法: 使用用於特定過濾操作的自訂遮罩方法來擴充 DataFrame 類別。

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

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