2017-05-15 18 views
1

パンダの類似の列を削除するPythonの方法はありますか?私が意味するのは、1対1対応の列です。例えば、類似の列を削除するpandas

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

ここで私は唯一の私はいつもcolCを知っcolA知っているのでcolAcolBを保持したいと思います。

答えて

3

factorizedを有する後にdrop_duplicatesを使用する1つの方法。 1対1対応がある場合、私は2つの列が同じ方法で分解されることを知っています。

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 
+0

解決方法は正しいですが、転置は高価な操作であるため大きなデータフレームでは失敗します。 – Linda

関連する問題