私信  •  关注

Petr Szturc

Petr Szturc 最近创建的主题
Petr Szturc 最近回复了
6 年前
回复了 Petr Szturc 创建的主题 » 用Python固定复制警告(复制)

对我来说,此问题出现在以下简化示例中。我也能解决它(希望有一个正确的解决方案):

带警告的旧代码:

def update_old_dataframe(old_dataframe, new_dataframe):
    for new_index, new_row in new_dataframe.iterrorws():
        old_dataframe.loc[new_index] = update_row(old_dataframe.loc[new_index], new_row)

def update_row(old_row, new_row):
    for field in [list_of_columns]:
        # line with warning because of chain indexing old_dataframe[new_index][field]
        old_row[field] = new_row[field]  
    return old_row

old_row[field] = new_row[field]

因为update_row方法中的行实际上是 Series ,我将该行替换为:

old_row.at[field] = new_row.at[field]

method 用于访问/查找 系列 . 即使两者都工作得很好,结果也是一样,这样我就不必禁用警告(=保持它们在其他地方的其他链索引问题)。