我想首先选择数据,然后将属性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
中分配值的正确方法是什么?
答案 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