我有一个初学者的问题。我想给Pandas DataFrame定义的切片赋值,但是我无法从警告信息中找到正确的方法来解决这个错误。
错误信息: 设置副本数据框的切片的值 SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame 请参阅文档中的注意事项:http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy 我的代码失败了:
这个怎么做才合适呢?
更新:
如下 @Delforge 的评论,以下方法可行:
错误信息: 设置副本数据框的切片的值 SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame 请参阅文档中的注意事项:http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy 我的代码失败了:
df.ix[0]["points"] = 1
df.ix[1:2]["points"] = 2
df.ix[3:8]["points"] = 3
这个怎么做才合适呢?
更新:
如下 @Delforge 的评论,以下方法可行:
df.loc[0, ("points")] = 1
df.loc[1:2, ("points")] = 2
pd.DataFrame.loc
。例如:df.loc[1:2, ("points")] = 2
。 (翻译说明:尽可能地翻译原文,使其更加通俗易懂,但不改变原来的意思,并且不添加解释或其他无关内容。) - Delforge