ウェブサイト検索

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 ドキュメンテーション

関連記事: