スポンサーリンク

[Pandas]ユニーク値の確認

Python

pandasでユニーク値、つまり1列内にあるすべての値を確認する方法を解説します。

ユニーク値の確認

データセット

import pandas as pd
from sklearn.datasets import load_iris
iris_data = load_iris()
df = pd.DataFrame(
    data = iris_data.data,
    columns = iris_data.feature_names,
)
df["label"] = iris_data.target
df

load_irisのデータセットを使います。

unique

df["label"].unique()

# ===== output =====
# array([0, 1, 2])

uniqueですべての値を確認できます。
上記の場合、ラベルが0,1,2の3種類だとわかりますね。

df["sepal length (cm)"].unique()

# ===== output =====
# array([5.1, 4.9, 4.7, 4.6, 5. , 5.4, 4.4, 4.8, 4.3, 5.8, 5.7, 5.2, 5.5,
#        4.5, 5.3, 7. , 6.4, 6.9, 6.5, 6.3, 6.6, 5.9, 6. , 6.1, 5.6, 6.7,
#        6.2, 6.8, 7.1, 7.6, 7.3, 7.2, 7.7, 7.4, 7.9])

カテゴリ形式の列だとuniqueで確認しやすいですが、上記のように連続した値だと膨大な数になるので、わかりにくくなります。

nunique

df["sepal length (cm)"].nunique()

# ===== output =====
# 35

nuniqueはuniqueで出力される値の数を出します。
つまり、上記の場合は”sepal length”が35種類のデータを持つことを確認できます。

for col in df.columns:
    print(col, df[col].nunique())

# ===== output =====
# sepal length (cm) 35
# sepal width (cm) 23
# petal length (cm) 43
# petal width (cm) 22
# label 3

データの中身がよくわからない場合は、こんな感じで各列のユニーク値の数を見てみましょう。
数が少ないならuniqueで見れば良いし、多いならヒストグラムを作ったりすると良いです。

まとめ

データのユニーク値とその数を確認する方法を解説しました。
与えられたデータの概要を確認する上で便利なのでおすすめです。

コメント

タイトルとURLをコピーしました