\

Pythonでは、配列のユニークな要素を取得するためにいくつかの方法があります。ここでは、その中でも特に便利なnumpy.unique()関数とset()関数について説明します。

numpy.unique()

numpy.unique()は、配列から重複要素を削除してユニークな要素だけで構成される配列を返します。この関数はPythonのset()に相当します。

import numpy as np

# 配列xを定義
x = np.array([0, 5, 1, 3, 5, 0, 2])

# xの重複要素を取り除く
a = np.unique(x)

print(a)  # [0 1 2 3 5]

また、return_index=Trueを設定すると、ユニーク配列に加えて、各要素の抽出位置(インデクス)を示す配列も返します。

# ユニーク配列と、抽出要素のインデクスを取得
b = np.unique(x, return_index=True)

print(b)  # (array([0, 1, 2, 3, 5]), array([0, 2, 6, 3, 1], dtype=int64))

set()

set()はPythonの組み込み関数で、リストやタプルなどのイテラブルから重複要素を削除したセット(集合)を作成します。ただし、set()は元の順序を保持しないため、順序を保持したままユニークな要素を取得したい場合は、more_itertools.unique_everseen()を使用します。

from more_itertools import unique_everseen

# 配列datを定義
dat = [3, 2, 1, 5, 1, 2]

# datの重複要素を取り除く
unique_dat = list(unique_everseen(dat))

print(unique_dat)  # [3, 2, 1, 5]

以上、Pythonで配列のユニークな要素を取得する方法について説明しました。これらの方法を活用して、データ分析や処理に役立ててください。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です