是否有Pythonic方法可以删除pandas中的类似列。我的意思是那些具有一对一对应关系的列。如,
colA colB colC
A C B
A G B
C K D
C G D
此处我只想保留colA
和colB
,因为我知道colA
我总是知道colC
。
答案 0 :(得分:3)
执行此操作的一种方法是在drop_duplicates
d之后使用factorize
。如果存在一对一的对应关系,我知道这两列将以相同的方式进行分解。然后,我将获得使其恢复的列,并使用那些
cols = df.apply(lambda x: pd.factorize(x)[0]).T.drop_duplicates().index
df[cols]
colA colB
0 A C
1 A G
2 C K
3 C G