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で見れば良いし、多いならヒストグラムを作ったりすると良いです。
まとめ
データのユニーク値とその数を確認する方法を解説しました。
与えられたデータの概要を確認する上で便利なのでおすすめです。
コメント