熊猫数据帧遍历所有列
问题描述:
我的代码非常简单的行:熊猫数据帧遍历所有列
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]
,但如果您还希望为该选择分配值,则此链接索引并不总能保证正常工作。
非常感谢。现在我明白问题出在哪里了。 – 30114