将值分配给Pandas DataFrame中的范围

问题描述 投票:0回答:1

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
python pandas
1个回答
1
投票

我认为你不需要.ix

尝试

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

等等

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

© www.soinside.com 2019 - 2024. All rights reserved.