关于消息的A值正试图在来自DataFrame的切片的副本上设置



在一个程序中,我有以下与panda相关的操作

df_data['id'][i] = test[‘area’][i]

代码将工作,但运行程序将生成以下消息

C:UsersAppDataLocalTemp/ipykernel_22744/4097485461.py:3: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
df_data['area'][i] = test['area'][i]

在阅读了相关文档后,我不太清楚这条消息,修改这条操作线的最佳实践应该是什么?此外,有没有什么方法可以在不让它们打印出来的情况下抑制这种消息。

最佳/推荐的方法是使用lociloc(索引(。您的分配方法是尝试分配给数据帧的副本。使用loc或iloc有助于分配给实际的数据帧。


df_data.loc[i, 'id'] = test[‘area’][i]
df.iloc[i,j]=1

您将在熊猫警告信息中提供的链接中看到更详细的讨论。