Pandas でユニークな値をカウントする
Suraj Joshi
2023年1月30日
このチュートリアルでは、Series.value_count()
メソッドと DataFrame.nunique()
メソッドを使って、DataFrame 内の全ての一意な値のカウントを取得する方法を説明します。
import pandas as pd
patients_df = pd.DataFrame(
{
"Name": ["Jennifer", "Travis", "Bob", "Emma", "Luna", "Anish"],
"Date": [
"2020-12-01",
"2020-12-01",
"2020-12-02",
"2020-12-02",
"2020-12-02",
"2020-12-03",
],
"Age": [17, 18, 17, 16, 18, 16],
}
)
print(patients_df)
出力:
Name Date Age
0 Jennifer 2020-12-01 17
1 Travis 2020-12-01 18
2 Bob 2020-12-02 17
3 Emma 2020-12-02 16
4 Luna 2020-12-02 18
5 Anish 2020-12-03 16
患者の名前、予約日、年齢を含む DataFrame patients_df
を用いて、DataFrame 内のすべての一意な値のカウントを取得する方法を説明します。
Series.value_counts()
を用いて DataFrame 内の一意な値を数える
import pandas as pd
patients_df = pd.DataFrame(
{
"Name": ["Jennifer", "Travis", "Bob", "Emma", "Luna", "Anish"],
"Date": [
"2020-12-01",
"2020-12-01",
"2020-12-02",
"2020-12-02",
"2020-12-02",
"2020-12-03",
],
"Age": [17, 18, 17, 16, 18, 16],
}
)
print("The DataFrame is:")
print(patients_df, "\n")
print("No of appointments for each date:")
print(patients_df["Date"].value_counts())
出力:
The DataFrame is:
Name Date Age
0 Jennifer 2020-12-01 17
1 Travis 2020-12-01 18
2 Bob 2020-12-02 17
3 Emma 2020-12-02 16
4 Luna 2020-12-02 18
5 Anish 2020-12-03 16
No of appointments for each date:
2020-12-02 3
2020-12-01 2
2020-12-03 1
Name: Date, dtype: int64
DataFrame 内の Date
カラムの一意な値のカウントを表示します。
DataFrame.nunique()
を用いて DataFrame 内の一意な値を数える
import pandas as pd
patients_df = pd.DataFrame(
{
"Name": ["Jennifer", "Travis", "Bob", "Emma", "Luna", "Anish"],
"Date": [
"2020-12-01",
"2020-12-01",
"2020-12-02",
"2020-12-02",
"2020-12-02",
"2020-12-03",
],
"Age": [17, 18, 17, 16, 18, 16],
}
)
print(patients_df, "\n")
print(patients_df.groupby("Date").Name.nunique())
出力:
Name Date Age
0 Jennifer 2020-12-01 17
1 Travis 2020-12-01 18
2 Bob 2020-12-02 17
3 Emma 2020-12-02 16
4 Luna 2020-12-02 18
5 Anish 2020-12-03 16
Date
2020-12-01 2
2020-12-02 3
2020-12-03 1
Name: Name, dtype: int64
つまり、同じ値の Date
を持つ行を同じグループに配置し、特定のグループ内の各名前の出現をカウントして、DataFrame 内の一意の Date
カラムの値のカウント数を知ります。
著者: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn