2017-11-23 19 views
0

私は、エントリがセットであるシリーズを持っています。 pandas.Series.drop_duplicates()を使用してすべての重複したエントリを削除しますが、エラーが発生します。次に例を示します。エントリがセットであるときにパンダに重複をドロップする方法

import pandas as pd 
ser = pd.Series([{1,2,3}, {4,5,6}, {4,5,6}]) 
ser.drop_duplicates() 

最後の行には、次の例外を与える:

TypeError: unhashable type: 'set'

私が取得したいのに対し:

0 {1, 2, 3} 
1 {4, 5, 6} 

は、これはバグですか?それともこれを達成する別の方法がありますか?

答えて

1

その後、duplicated

ser[~ser.astype(str).duplicated(keep='first')] 
Out[170]: 
0 {1, 2, 3} 
1 {4, 5, 6} 
dtype: object 

詳細にastype(str)を使用して私たちをみましょう:

ser.astype(str).duplicated(keep='first') 
Out[171]: 
0 False 
1 False 
2  True 
dtype: bool 
関連する問題