根據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中文網其他相關文章!