[英]Copying set of specific columns between Pandas dfs where specific values match
[英]Copying values between columns in pandas
我有一個帶有Name
和name
列的數據框。
我正在這樣做:
for i in range(len(df)):
if (some condition):
df['name'][i] = df['Name'][i]
但是我得到這個警告:
試圖在DataFrame的切片副本上設置一個值
而且還需要一段時間才能運行,這與警告有關嗎?
我該怎么辦?
您可以嘗試loc
:
df.loc[df['name'].notnull() , 'Name'] = df['name']
以及SettingWithCopyWarning
很好的解釋。
因此通常:
df.loc[some condition , 'Name'] = df['name']
您不想使用鏈式分配。 您應該使用.loc
:
condition = ... # something that identifies the relevant rows.
df.loc[condition, 'Name'] = df.loc[condition, 'name']
有關更多信息,請參考此SO帖子 。
這是到相關熊貓文件“為什么使用鏈接索引時分配失敗的原因!”的鏈接。 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.