问题描述
我尝试删除熊猫中具有重复数据的列,例如以下数据(它们具有相同的数据,但列名称不同):
df1 = pd.DataFrame({'one': [1,2,3,4],'two': ['a','b','c','d'],'three': [1,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
但这太低效了,有更好的方法吗?
希望得到您的帮助,谢谢
解决方法
我试图像这样提高一点效率:
?
让我知道这是否有帮助。
要完全删除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