Pandasで連続データの重複を削除する

Pandasで連続データの重複を削除します

# 単純な重複削除

単純に重複を削除する場合は,drop_duplicates()を使用します.

import pandas as pd
import numpy as np

df = pd.Series(data=[1,1,1,2,2,2,3,3,3,2,2,3,1,1])
print('----初期データ----')
print(df)

# 一つ手前の要素と異なる要素だけを抜き出す
df = df.drop_duplicates()
print('-----削除後データ----')
print(df)
----初期データ----
0     1
1     1
2     1
3     2
4     2
5     2
6     3
7     3
8     3
9     2
10    2
11    3
12    1
13    1
dtype: int64
-----削除後データ----
0    1
3    2
6    3
dtype: int64

# 連続する場合の重複削除

単純に重複を削除する場合は,df.shift(1)で「1行ずらしたデータフレーム」を生成してします.

そして,上記のデータフレームと一致することを条件に抽出することで,連続する場合の重複削除されているデータフレームを擬似的に生成します.

import pandas as pd
import numpy as np

df = pd.Series(data=[1,1,1,2,2,2,3,3,3,2,2,3,1,1])
print('----初期データ----')
print(df)

# 一つ手前の要素と異なる要素だけを抜き出す
df = df[df != df.shift(1)]
print('-----削除後データ----')
print(df)
----初期データ----
0     1
1     1
2     1
3     2
4     2
5     2
6     3
7     3
8     3
9     2
10    2
11    3
12    1
13    1
dtype: int64
-----削除後データ----
0     1
3     2
6     3
9     2
11    3
12    1
dtype: int64

# まとめ

Pandasで連続データの重複を削除しました.

# 参考サイト

【Python】連続データの重複削除の覚書【Pandas】 (opens new window)

BigQueryで2拠点間の距離を算出する

BigQueryで2拠点間の距離を算出する

BigQueryで2拠点間の距離を算出します

BigQueryで日付型の足し算・引き算を使う

BigQueryで日付型の足し算・引き算を使う

BigQueryで日付型の加減を使います