Pythonでリストからユニークな値を取得する
この記事では、Pythonのリストからユニークな値を取得する3つの方法について理解します。大量の生データを扱っていると、しばしば生データセットからユニークで繰り返されないデータのセットを取得する必要がある状況に出くわします。
以下に示す方法が、この問題を解決するのに役立ちます。それでは早速始めましょう!
Pythonでリストからユニークな値を取得する方法
以下のいずれかの方法を使用して、Pythonのリストから一意の値を取得できます。
- Python set() メソッド
- for ループと一緒に Python の list.append() メソッドを使用する
- Pythonのnumpy.unique()メソッドの使用
1. リストからユニークな値を取得するためのPythonのSet()
以前のPythonセットに関するチュートリアルで見たように、セットは重複する値の単一のコピーを保存します。このセットの特性を使用して、Pythonのリストからユニークな値を取得できます。
- 最初に、入力リストをset()関数を使用してセットに変換する必要があります。
構文:
set(input_list_name)
- リストがセットに変換されると、重複した要素のうちの1つのコピーだけがセットに配置されます。
- 次に、以下のコマンド/ステートメントを使用してセットをリストに戻す必要があります:
構文:
list(set-name)
- 最後に、新しいリストを印刷します
例:
list_inp = [100, 75, 100, 20, 75, 12, 75, 25]
set_res = set(list_inp)
print("The unique elements of the input list using set():\n")
list_res = (list(set_res))
for item in list_res:
print(item)
出力:
The unique elements of the input list using set():
25
75
100
20
12
2. Pythonのlist.append()とforループ
ユニークな要素を見つけるために、Pythonのforループとlist.append()関数を組み合わせて同じことを達成できます。
- 最初に、新しい(空の)リスト、つまりres_listを作成します。
- その後、forループを使用して、新しく作成されたリスト(res_list)に特定の要素が存在するかどうかを確認します。要素が存在しない場合は、append()メソッドを使用して新しいリストに追加されます。
構文:
list.append(value)
- もし、私たちが新しいリストにすでに存在する要素、つまり重複する要素に出くわした場合、その場合はforループによって無視されます。ユニークな要素か重複した要素かを確認するためにif文を使用します。
例:
list_inp = [100, 75, 100, 20, 75, 12, 75, 25]
res_list = []
for item in list_inp:
if item not in res_list:
res_list.append(item)
print("Unique elements of the list using append():\n")
for item in res_list:
print(item)
出力:
Unique elements of the list using append():
100
75
20
12
25
3. Pythonのnumpy.unique()関数を使用してユニークなアイテムのリストを作成する
PythonのNumPyモジュールには、numpy.arrayからユニークなデータ項目を取得するための組み込み関数、numpy.uniqueがあります。
- ユニークな要素をPythonのリストから取得するためには、以下のコマンドを使用してリストをNumPy配列に変換する必要があります。
構文:
numpy.array(list-name)
- 次に、numpy.unique()メソッドを使用して、numpy配列からユニークなデータアイテムを取得します。
- そして最後に、得られたリストを印刷します。
構文:
numpy.unique(numpy-array-name)
例:
import numpy as N
list_inp = [100, 75, 100, 20, 75, 12, 75, 25]
res = N.array(list_inp)
unique_res = N.unique(res)
print("Unique elements of the list using numpy.unique():\n")
print(unique_res)
出力:
Unique elements of the list using numpy.unique():
[12 20 25 75 100]
結論
この記事では、Pythonリスト内のデータ項目の集合からユニークな値を取得するさまざまな方法を明らかにしました。
参考文献
- NumPy 関数: numpy.unique() - SciPy ドキュメンテーション
