我的代码行非常简单:
df[df.RESP == 0].CCOL
如果RESP列中的值等于零,则列出DataFrame(df)CCOL值。
但是,如果我添加一个数组(例如CNames = [CCOL1,CCOL2,CCOL3 ...])并尝试循环遍历数组以获得每个列值IF RESP == 0上面的代码行可以没有实施。
我试过这种方式:
for c in CNames:
df[df.RESP == 0].c
知道如何解决这个问题吗?
谢谢!
答案 0 :(得分:1)
您正在使用'属性'对列进行处理,但您也可以使用[ ]
(' getitem')中的名称来获取列,例如df['CCOL']
,这样您就可以使用变量作为列名。
在这种情况下:
for c in CNames:
df.loc[df.RESP == 0, c]
建议使用上述loc
。您也可以执行df[df.RESP == 0][c]
,但如果您还想为该选择分配值,则此链式索引并不总是有效。