Pandas - 如何使用变量值(而不是变量名)作为过滤时的列名?

时间:2018-05-21 08:48:07

标签: python pandas

如何在过滤时强制pandas使用变量中的值而不是变量名本身?

假设:

column_name = "weird_name"
df = pd.DataFrame(data={column_name: [1, 2, 3, 4, 5]})

返回:

    weird_name
0   1
1   2
2   3
3   4
4   5

现在,我想过滤奇怪的列,但通常的方法是将变量column_name视为列的名称:

df[df.column_name > 3]
显然它会抛出:

AttributeError: 'DataFrame' object has no attribute 'column_name'

PS。如果一位母语为英语的人在编辑标题时听起来更自然,我会很高兴。

1 个答案:

答案 0 :(得分:0)

编辑:正如@jpp在评论中提到的那样,这是正确的答案:

df[df[column_name] > 3]