簡體   English   中英

在熊貓列之間復制值

[英]Copying values between columns in pandas

我有一個帶有Namename列的數據框。

我正在這樣做:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM