Python&熊猫:选择数据然后设置属性值

时间:2015-09-01 08:27:43

标签: python pandas

我想首先选择数据,然后将属性artifact设置为True。我知道我可以通过这样做来选择数据:

df[(df['incre'] > 20)&(df['incre_reverse'] > 20)]

但是,当我尝试设置这样的属性时:

df[(df['incre'] > 20)&(df['incre_reverse'] > 20)].artifact = True
df[df['artifact'] == True]

未返回任何结果。

问题是什么?在Pandas中分配值的正确方法是什么?

2 个答案:

答案 0 :(得分:2)

引用文档here

  

警告从0.20.0开始,不推荐使用.ix索引器,这有利于   更严格的.iloc和.loc索引器。

因此,您应该使用loc,如下所示:

df.loc[(df['incre'] > 20)&(df['incre_reverse'] > 20),'artifact']]=True

答案 1 :(得分:1)

使用ix代替

df.ix[(df['incre'] > 20)&(df['incre_reverse'] > 20),'artifact']]=True