2024-10-08 19:19:58 发布
网友
我有一行非常简单的代码:
df[df.RESP == 0].CCOL
其中,如果RESP列中的值等于零,则列出DataFrame(df)CCOL值。在
但是,如果我添加一个数组(例如CNames=[CCOL1,CCOL2,CCOL3…]),并尝试在数组中循环以获取每个列的值,如果RESP==0,则无法实现上面的代码行。在
我试过这样做:
你知道我怎么解决这个问题吗?在
谢谢!在
您使用的是对列的“attribute”访问,但也可以使用[ ]('getitem')中的名称来获取列,例如df['CCOL'],这样就可以使用变量作为列名。在
[ ]
df['CCOL']
在这种情况下:
for c in CNames: df.loc[df.RESP == 0, c]
建议使用上面的loc。您也可以执行df[df.RESP == 0][c],但是如果您还想为所选内容赋值,则这种链式索引并不总是保证有效的。在
loc
df[df.RESP == 0][c]
您使用的是对列的“attribute”访问,但也可以使用
[ ]
('getitem')中的名称来获取列,例如df['CCOL']
,这样就可以使用变量作为列名。在在这种情况下:
建议使用上面的
loc
。您也可以执行df[df.RESP == 0][c]
,但是如果您还想为所选内容赋值,则这种链式索引并不总是保证有效的。在相关问题 更多 >
编程相关推荐