子集化时无法从重复轴重新索引

Cannot Reindex from a duplicate axis while subsetting

我有以下数据框:

print(df)

 Col    Col     Col  Name
  A      B       C   Alex
  B      B       C   Jack
  B      A       A   Mark

我想得到以下结果,其中 至少出现一个 A

 Col    Col     Col  Name
  A      B       C   Alex
  B      A       A   Mark

我试过了:

final_df = df["Col"] == "A" 但它给了我“ValueError: cannot reindex from a duplicate axis”

你有重复的列名的问题,所以如果 select df["Col"] 获取所有名为 Col 的列。

可能的解决方案是将所有列与 any 进行比较,以检查每行至少一个 True

df = df[(df == 'A').any(1)]
print (df)
  Col Col Col
0   A   B   C
2   B   A   A

详情:

print ((df == 'A'))
     Col    Col    Col
0   True  False  False
1  False  False  False
2  False   True   True

print ((df == 'A').any(1))
0     True
1    False
2     True
dtype: bool