熊猫使用列索引基于值过滤行

时间:2020-04-28 06:22:29

标签: pandas

我正在尝试根据列中的值过滤数据框

cust_id, prod_type
101, prod_A
102, prod_A
102, prod_B
103, prod_F
103, prod_A
104, prod_D

我正在尝试根据以下列索引进行过滤:

df.loc[df.columns[1].eq('prod_A')]

它引发错误AttributeError: 'str' object has no attribute 'eq'

1 个答案:

答案 0 :(得分:3)

您可以按DataFrame.iloc按位置选择第二列:

df.loc[df.iloc[:, 1].eq('prod_A')]

您的解决方案应使用df[]进行更改,因为df.columns[1]返回列名:

df.loc[df[df.columns[1]].eq('prod_A')]