Pandas Series.value_counts()関数
-
pandas.Series.value_counts()の構文: -
コード例:
Series.value_counts()メソッドを使用して Pandas シリーズの一意の要素の頻度をカウントする -
コード例:要素の相対頻度を取得するために
Series.value_counts()メソッドでnormalize = Trueを設定する -
コード例:
Series.value_counts()メソッドでascending = Trueを設定して、頻度値に基づいて要素を昇順で並べ替える -
コード例:
Series.value_counts()メソッドでbinsパラメーターを設定して、ハーフオープンビンにある値の数を取得する -
コード例:
Series.value_counts()メソッドのdropna = Falseを設定して、NaNをカウントする
pandas.Series.value_counts() メソッドは、Series の各一意の要素の出現回数をカウントします。
pandas.Series.value_counts() の構文:
Series.value_counts(normalize=False, sort=True, ascending=False, bins=None, dropna=True)
パラメーター
normalize |
ブール。一意の値の相対頻度(normalize = True)または一意の値の絶対頻度(normalize = False)。 |
sort |
ブール。頻度に基づいて要素を並べ替える(sort = True)または Series オブジェクトを並べ替えない(sort = False) |
ascending |
ブール。値を昇順(ascending = True)または降順(ascending = False)で並べ替えます |
bins |
整数。Series オブジェクトの値の範囲が分割されるパーティションの数 |
dropna |
ブール。NaN(dropna = False)のカウントを含めるか、NaN(dropna = True)のカウントを除外します |
戻り値
一意の値の数で構成される Series オブジェクトを返します。
コード例:Series.value_counts() メソッドを使用して Pandas シリーズの一意の要素の頻度をカウントする
import pandas as pd
import numpy as np
df = pd.DataFrame({'X': [1, 2, 3, np.nan, 3],
'Y': [4, np.nan, 8, np.nan, 3]})
print("DataFrame:")
print(df)
absolute_counts=df["X"].value_counts()
print("Frequencies of elements of X column:")
print(absolute_counts)
出力:
DataFrame:
X Y
0 1.0 4.0
1 2.0 NaN
2 3.0 8.0
3 NaN NaN
4 3.0 3.0
Frequencies of elements of X column:
3.0 2
2.0 1
1.0 1
Name: X, dtype: int64
absolute_counts シリーズオブジェクトは、Series.value_counts() メソッドを使用して列 X の一意の各要素の数を提供します。
Series.value_counts() はデフォルトでは NaN をカウントしません。次のセクションでその数え方を紹介します。
コード例:要素の相対頻度を取得するために Series.value_counts() メソッドで normalize = True を設定する
Series.value_counts() メソッドで normalize = True を設定すると、Series オブジェクトのすべての一意の要素の相対頻度が取得されます。
import pandas as pd
import numpy as np
df = pd.DataFrame({'X': [1, 2, 3, np.nan, 3],
'Y': [4, np.nan, 8, np.nan, 3]})
print("DataFrame:")
print(df)
relative_counts=df["X"].value_counts(normalize=True)
print("Relative Frequencies of elements of X column:")
print(relative_counts)
出力:
DataFrame:
X Y
0 1.0 4.0
1 2.0 NaN
2 3.0 8.0
3 NaN NaN
4 3.0 3.0
Frequencies of elements of X column:
3.0 0.50
2.0 0.25
1.0 0.25
Name: X, dtype: float64
relative_counts シリーズオブジェクトは、列 X の各一意の要素の相対頻度を示します。
相対頻度は、すべての絶対頻度値を頻度値の合計で割ることによって得られます。
コード例:Series.value_counts() メソッドで ascending = True を設定して、頻度値に基づいて要素を昇順で並べ替える
Series.value_counts() メソッドで ascending = True を設定すると、要素が頻度値に基づいて昇順でソートされた Series オブジェクトが取得されます。
デフォルトでは、Series.value_counts() メソッドから返された Series オブジェクトの値は、頻度値に基づいて降順で並べ替えられます。
import pandas as pd
import numpy as np
df = pd.DataFrame({'X': [1, 2, 3, np.nan, 3],
'Y': [4, np.nan, 8, np.nan, 3]})
print("DataFrame:")
print(df)
sorted_counts=df["X"].value_counts(ascending=True)
print("Frequencies of elements of X column:")
print(sorted_counts)
出力:
DataFrame:
X Y
0 1.0 4.0
1 2.0 NaN
2 3.0 8.0
3 NaN NaN
4 3.0 3.0
Frequencies of elements of X column:
1.0 1
2.0 1
3.0 2
Name: X, dtype: int64
X 列の一意の各オブジェクトのカウントを、頻度値を昇順でソートして示します。
コード例:Series.value_counts() メソッドで bins パラメーターを設定して、ハーフオープンビンにある値の数を取得する
import pandas as pd
import numpy as np
df = pd.DataFrame({'X': [1, 2, 3, np.nan, 3, 4, 5],
'Y': [4, np.nan, 8, np.nan, 3, 2, 1]})
print("DataFrame:")
print(df)
counts=df["X"].value_counts(bins=3)
print("Frequencies:")
print(counts)
出力:
DataFrame:
X Y
0 1.0 4.0
1 2.0 NaN
2 3.0 8.0
3 NaN NaN
4 3.0 3.0
5 4.0 2.0
6 5.0 1.0
Frequencies:
(3.667, 5.0] 2
(2.333, 3.667] 2
(0.995, 2.333] 2
Name: X, dtype: int64
bins の値の範囲、つまり X 列を 3つの部分に分割し、半分開いた各ビンにある値の数を返します。
コード例:Series.value_counts() メソッドの dropna = False を設定して、NaN をカウントする
Series.value_counts() メソッドで dropna = false を設定すると、NaN 値の数も取得します。
import pandas as pd
import numpy as np
df = pd.DataFrame({'X': [1, 2, 3, np.nan, 3],
'Y': [4, np.nan, 8, np.nan, 3]})
print("DataFrame:")
print(df)
counts=df["Y"].value_counts(dropna=False)
print("Frequencies:")
print(counts)
出力:
DataFrame:
X Y
0 1.0 4.0
1 2.0 NaN
2 3.0 8.0
3 NaN NaN
4 3.0 3.0
Frequencies:
NaN 2
3.0 1
8.0 1
4.0 1
Name: Y, dtype: int64
DataFrame の Y 列の各要素の数と NaN 値の数を示します。
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn