首頁 >後端開發 >Python教學 >如何根據條件修改 Pandas DataFrame 欄位中的特定值?

如何根據條件修改 Pandas DataFrame 欄位中的特定值?

DDD
DDD原創
2024-10-26 03:34:27479瀏覽

How Can I Modify Specific Values in Pandas DataFrame Columns Based on a Condition?

根據Pandas 中的條件更改值

此問題提出了一種情況,其中需要將FirstName 和LastName 兩列中的特定值根據符合特定值的ID 列的條件進行修改。在 Stata 中,這可以使用簡單的替換命令來實現。

在 Pandas(一個強大的用於資料操作的 Python 函式庫)中,一種方法是利用具有索引功能的 loc 函數。這使得邏輯評估和隨後的數據修改成為可能。例如:

<code class="python">import pandas as pd

df = pd.read_csv("test.csv")
df.loc[df.ID == 103, 'FirstName'] = "Matt"
df.loc[df.ID == 103, 'LastName'] = "Jones"</code>

或者,可以一步完成對兩列的賦值:

<code class="python">df.loc[df.ID == 103, ['FirstName', 'LastName']] = 'Matt', 'Jones'</code>

請注意,loc 覆蓋賦值操作需要 Pandas 版本 0.11 或更高版本。對於舊版本,鍊式賦值是一個可行的解決方案:

<code class="python">df['FirstName'][df.ID == 103] = "Matt"
df['LastName'][df.ID == 103] = "Jones"</code>

雖然在現代Pandas 版本中通常應避免鍊式賦值,但為了與舊版本兼容,它仍然是一種需要注意的有用技術。

以上是如何根據條件修改 Pandas DataFrame 欄位中的特定值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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