PandasのSeriesで重複した値のあつかい

PythonのPandasのSeriesで重複した値のあつかいには「重複を許す」「重複を1つの値にする」「重複を削除する」の3つの動作が可能です。

重複を削除するにはdrop_duplicatesメソッドを使います。

この記事ではSeriesで重複した値のあつかいについて解説します。

スポンサーリンク

PandasのSeriesで重複した値のあつかい

PandasのSeriesで重複した値のあつかいには「重複を許す」「重複を1つの値にする」「重複を削除する」の3つの動作が可能です。

それぞれについてサンプルを見ながら解説します。

重複を許す

PandasのSeriesで重複を許すのはDefault(既定)の動作です。

#Seriesの重複を省く
import pandas as pd

taro = [ 1, 2, 3, 1, 4, 2, 5 ]
series_taro = pd.Series( taro )
print( series_taro )

上記のコードの実行結果は

0    1
1    2
2    3
3    1
4    4
5    2
6    5
dtype: int64

となり値「1」と「2」が重複していますが、そのままSeriesのデータとして出力されています。

重複を1つの値にする

PandasのSeriesで重複した値を削除するにはdrop_duplicatesメソッドを使います

drop_duplicatesはDefault(既定)の動作で重複した値を最初に出てきた1つめだけにしてSeriesを出力します。

#Seriesの重複を省く
import pandas as pd

taro = [ 1, 2, 3, 1, 4, 2, 5 ]
series_taro = pd.Series( taro )

#重複した値を最初の1だけにする
print( series_taro.drop_duplicates() )

上記のコードの実行結果は

dtype: int64
0    1
1    2
2    3
4    4
6    5

となり、インデックスラベルから重複した値の1番目のものをSeriesに出力していることがわかります。

重複を削除する

PandasのSeriesで重複した値を完全に削除するにはdrop_duplicatesメソッドのkeep引数を使います

#Seriesの重複を省く
import pandas as pd

taro = [ 1, 2, 3, 1, 4, 2, 5 ]
series_taro = pd.Series( taro )

#重複した値をすべて取り除く
print( series_taro.drop_duplicates( keep=False ) )

上記の実行結果は

2    3
4    4
6    5
dtype: int64

となり、重複している値のすべてが削除されてSeriesに出力されています。

スポンサーリンク
スポンサーリンク
Python学習におすすめの本
Python
スポンサーリンク
ソフトウェア開発日記
タイトルとURLをコピーしました