Pandas DataFrame遍历所有列

时间:2015-10-21 13:09:55

标签: python pandas

我的代码行非常简单:

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

知道如何解决这个问题吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

您正在使用'属性'对列进行处理,但您也可以使用[ ](' getitem')中的名称来获取列,例如df['CCOL'],这样您就可以使用变量作为列名。

在这种情况下:

for c in CNames:
    df.loc[df.RESP == 0, c]

建议使用上述loc。您也可以执行df[df.RESP == 0][c],但如果您还想为该选择分配值,则此链式索引并不总是有效。