将值分配给Pandas DataFrame中的范围

时间:2015-10-23 14:59:58

标签: python pandas

Noob问题。我想为Pandas DataFrame的已定义切片分配一个值,但我无法从警告文本中找出错误消息指向如何正确执行此操作。

错误讯息:      SettingWithCopyWarning:      尝试在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

1 个答案:

答案 0 :(得分:1)

我认为你不需要.ix

尝试

df["points"][0] = 1
df["points"][1:2] = 2

http://pandas.pydata.org/pandas-docs/stable/indexing.html