首頁  >  文章  >  後端開發  >  如何根據條件選擇性地替換 Pandas DataFrame 中的列值?

如何根據條件選擇性地替換 Pandas DataFrame 中的列值?

Patricia Arquette
Patricia Arquette原創
2024-10-31 02:20:02740瀏覽

How to Selectively Replace Column Values in a Pandas DataFrame Based on Conditions?

Pandas DataFrame:根據條件替換列值

在這個問題中,目標是根據條件有選擇地替換DataFrame 列中的值一個條件。給定一個包含足球隊及其第一個賽季的 DataFrame,我們希望將「First Season」欄中超過 1990 年的所有值替換為 1。

提供的解 df.loc[(df['First Season] '] > 1990)] = 1,錯誤地取代了所選行中的所有值,而不僅僅是目標列。為了解決這個問題,我們需要指定要修改的欄位。

此修改的正確語法是:

df.loc[df['First Season'] > 1990, 'First Season'] = 1

其工作原理如下:

  • df.loc[(df['First Season'] > 1990 )]:選擇'First Season' 值大於1990 的行,有效產生標籤以索引到DataFrame 中。
  • 'First Season':可以選擇指定要進行替換的欄位。

執行這行程式碼後,只有滿足指定條件的 'First Season' 值才會被替換為1,保留 DataFrame 的其餘部分。

其他注意事項:

如果所需的結果是布林指示器,我們可以使用布林條件產生布林系列並將其轉換為整數資料類型:

df['First Season'] = (df['First Season'] > 1990).astype(int)

這會將True 值轉換為1,將False 值轉換為0,從而在「第一季」列中建立布林指示器。

以上是如何根據條件選擇性地替換 Pandas DataFrame 中的列值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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