首頁 >後端開發 >Python教學 >如何根據條件替換 DataFrame 列中的值?

如何根據條件替換 DataFrame 列中的值?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-30 23:51:301081瀏覽

How to Replace Values in a DataFrame Column Based on a Condition?

根據條件替換DataFrame 列中的值

在此場景中,您有一個包含名為「First Season」的列的DataFrame。您希望修改此列中的值,特別是將高於 1990 的值替換為值 1。雖然嘗試使用 df.loc[(df['First Season'] > 1990)] = 1 選擇值,它會取代所選行中的所有值,而不是僅針對「第一季」列。

要根據條件有效取代特定列中的值,必須在選擇條件中明確指定該列。這是使用以下語法實現的:

<code class="python">df.loc[<mask>, <optional column(s)>]</code>

在您的情況下,遮罩用於選擇「第一季」值大於 1990 的行。下面的程式碼將實現所需的結果:

<code class="python">df.loc[df['First Season'] > 1990, 'First Season'] = 1</code>

或者,如果您打算建立布林指標,您可以利用布林條件產生布林系列,並使用.astype() 將True 和False 值轉換為整數。此方法將產生一個包含 1(真)和 0(假)值的欄位。

<code class="python">df['First Season'] = (df['First Season'] > 1990).astype(int)</code>

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

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