pythonで重複データを处理する方法は何ですか
重複する値を扱うPythonの手法は次のとおりです。
- 配列をセットにすれば、重複する値がセットに含められ、セット内では重複が自動的に除去されます。リストをセットに変換してから再びリストに戻すことで、重複値を取り除くことができます。
lst = [1, 2, 3, 3, 4, 4, 5]
lst = list(set(lst))
print(lst) # 输出 [1, 2, 3, 4, 5]
- リスト内包表記を使います。これを使って新しいリストを作成し、元リストの中にある非重複値だけを残します。
lst = [1, 2, 3, 3, 4, 4, 5]
lst = [x for i, x in enumerate(lst) if x not in lst[:i]]
print(lst) # 输出 [1, 2, 3, 4, 5]
- リスト内の要素を辞書(dict)/カウンター(Counter)でキーにして、出現回数を値にしていくことで、辞書の値で重複の有無を判断できる。
from collections import Counter
lst = [1, 2, 3, 3, 4, 4, 5]
counter = Counter(lst)
lst = [x for x in counter if counter[x] == 1]
print(lst) # 输出 [1, 2, 5]
- 重複を削除
import pandas as pd
lst = [1, 2, 3, 3, 4, 4, 5]
df = pd.DataFrame(lst, columns=['value'])
df = df.drop_duplicates()
lst = df['value'].tolist()
print(lst) # 输出 [1, 2, 3, 4, 5]
具体的な状況に応じた適切な手段選択のための一般的な方法をいくつか示しました。