考虑以下数据框,它具有相同名称的列(显然会发生这种情况,我目前有一个这样的数据集! :()
>>> df = pd.DataFrame({"a":range(10,15),"b":range(5,10)})
>>> df.rename(columns={"b":"a"},inplace=True)
df
a a
0 10 5
1 11 6
2 12 7
3 13 8
4 14 9
>>> df.columns
Index(['a', 'a'], dtype='object')
我原以为按索引值删除列时,只有具有相应索引的列会被删除,但显然情况并非如此。
>>> df.drop(df.columns[-1],1)
0
1
2
3
4
有没有办法消除具有重复列名的列?
编辑:我选择了第一列误导性的值,已经修正。
编辑2:预期结果为
a
0 10
1 11
2 12
3 13
4 14
df.drop("a",1)
。我想通过使用整数列索引来绕过这个问题,但它产生了与df.drop("a",1)
相同的效果。 - redacted