我尝试删除熊猫中具有重复数据的列,例如以下数据(它们具有相同的数据,但列名称不同):
df1 = pd.DataFrame({'one': [1, 2, 3, 4], 'two': ['a', 'b', 'c', 'd'], 'three': [1, 2, 3, 4]})
one two three
0 1 a 1
1 2 b 2
2 3 c 3
3 4 d 4
我希望得到这个结果:
one two
0 1 a
1 2 b
2 3 c
3 4 d
我现在使用的方法是:
df2 = df1.T.drop_duplicates().T
但这太低效了,有更好的方法吗?
希望得到您的帮助,谢谢
答案 0 :(得分:0)
我试图像这样提高一点效率:
?
让我知道这是否有帮助。
In [935]: df_int = df1.select_dtypes(include=['int'])
In [933]: df_other = df1.select_dtypes(exclude=['int'])
In [949]: if df_int.T.drop_duplicates().shape[0] == 1:
...: res = pd.concat([df_int.iloc[:,0], df_other], axis=1)
...:
In [950]: res
Out[950]:
one two
0 1 a
1 2 b
2 3 c
3 4 d
,您可以执行以下操作:transpose