删除类似的列pandas

时间:2017-05-15 14:49:06

标签: python pandas

是否有Pythonic方法可以删除pandas中的类似列。我的意思是那些具有一对一对应关系的列。如,

colA  colB  colC
A     C     B
A     G     B
C     K     D
C     G     D

此处我只想保留colAcolB,因为我知道colA我总是知道colC

1 个答案:

答案 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