根據 Pandas 中的特定條件修改值
迭代 Pandas DataFrame 時,通常需要根據匹配條件修改特定值。為了在 Pandas 中實現這一點,我們可以利用它的索引和過濾功能。
理解問題
目標是迭代 DataFrame 中的「ID」欄位如果遇到特定 ID,則相應地更改「FirstName」和「LastName」欄位。在Stata 中,可以使用以下方法來實現:
replace FirstName = "Matt" if ID==103 replace LastName = "Jones" if ID==103
Pandas 實作
要在Pandas 中實作此邏輯,我們可以使用以下方法:
import pandas as pd df = pd.read_csv("test.csv") # Using logical indexing and overwrite assignment df.loc[df.ID == 103, 'FirstName'] = "Matt" df.loc[df.ID == 103, 'LastName'] = "Jones"
此程式碼會根據條件ID == 103 對DataFrame 進行切片,以選擇具有該ID 的行,然後用所需的值覆寫「FirstName」和「LastName」欄位中的值。
鍊式賦值
另一種方法,雖然不太推薦,但鍊式賦值:
df['FirstName'][df.ID == 103] = "Matt" df['LastName'][df.ID == 103] = "Jones"
這種方法也會根據過濾條件修改值,但不鼓勵這樣做因為它可能會導致較新的Pandas 版本出現不可預測的行為。
結論
透過利用適當的索引和覆蓋賦值技術,Pandas 允許基於特定值的高效修改根據匹配標準,實現與其他統計軟體中類似的複雜數據操作。
以上是如何根據某些條件修改 Pandas DataFrame 中的特定值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!