我正在尝试根据列中的值过滤数据框
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'
答案 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')]