熊猫数据帧遍历所有列

问题描述:

我的代码非常简单的行:熊猫数据帧遍历所有列

df[df.RESP == 0].CCOL 

其中I列出数据帧(DF)CCOL值如果在RESP列值等于零。但是,如果我添加一个数组(例如CNames = [CCOL1,CCOL2,CCOL3 ...])并尝试遍历数组以获得每列值IF RESP == 0,则上面的代码行无法实施。

我试着这样说:

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

任何想法如何,我可以解决这个问题?

谢谢!

您正在使用“属性” acccess在列,但你也可以在[ ](“的GetItem”)使用的名称,如df['CCOL']拿到列,并以这种方式,你可以使用一个变量作为列名。

在这种情况下:

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

loc使用像上面建议。您也可以执行df[df.RESP == 0][c],但如果您还希望为该选择分配值,则此链接索引并不总能保证正常工作。

+0

非常感谢。现在我明白问题出在哪里了。 – 30114