如何使用 pandas value_counts() 函数(附示例)
您可以使用value_counts()函数来统计 pandas 系列中唯一值的频率。
该函数使用以下基本语法:
my_series. value_counts ()
以下示例展示了如何在实践中使用此语法。
示例 1:计算唯一值的频率
以下代码显示了如何计算 pandas 系列中唯一值的出现次数:
import pandas as pd #create pandas Series my_series = pd. Series ([3, 3, 3, 3, 4, 4, 7, 7, 8, 9]) #count occurrences of unique values in Series my_series. value_counts () 3 4 4 2 7 2 8 1 9 1 dtype: int64
这告诉我们:
- 值 3 出现4次。
- 值 4 出现两次。
- 值 7 出现两次。
等等。
示例2:统计唯一值的频率(包括NaN)
默认情况下, value_counts()函数不显示 NaN 值的频率。
但是,您可以使用dropna参数来显示 NaN 值的频率:
import pandas as pd import numpy as np #create pandas Series with some NaN values my_series = pd. Series ([3, 3, 3, 3, 4, 4, 7, 7, 8, 9, np.nan, np.nan]) #count occurrences of unique values in Series, including NaNs my_series. value_counts (dropna= False ) 3.0 4 4.0 2 7.0 2 NaN2 8.0 1 9.0 1 dtype: int64
示例 3:计算唯一值的相对频率
以下代码展示了如何使用标准化参数来计算 pandas 系列中唯一值的相对频率:
import pandas as pd #create pandas Series my_series = pd. Series ([3, 3, 3, 3, 4, 4, 7, 7, 8, 9]) #count occurrences of unique values in Series my_series. value_counts (normalize= True ) 3 0.4 4 0.2 7 0.2 8 0.1 9 0.1 dtype:float64
这告诉我们:
- 值3代表该系列中所有值的40% 。
- 值4代表该系列中所有值的20% 。
- 值7代表该系列中所有值的20% 。
等等。
示例 4:计算 bin 中的频率
下面的代码展示了如何使用bins参数来计算 pandas 系列中落入相同大小的 bin 中的值的频率:
import pandas as pd #create pandas Series my_series = pd. Series ([3, 3, 3, 3, 4, 4, 7, 7, 8, 9]) #count occurrences of unique values in Series my_series. value_counts (bins= 3 ) (3.0, 5.0] 6 (5.0, 7.0] 2 (7.0, 9.0] 2 dtype: int64
这告诉我们:
- 3到5之间有6个值。
- 5到7之间有2个值。
- 7和9之间有2个值。
示例5:统计Pandas DataFrame中值的频率
我们还可以使用value_counts()函数来计算 pandas DataFrame 的特定列中唯一值的频率:
import pandas as pd #createDataFrame df = pd. DataFrame ({' points ': [9, 9, 9, 10, 10, 13, 15, 22], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #count occurrences of unique values in 'points' column df[' points ']. value_counts () 9 3 10 2 13 1 15 1 22 1 Name: points, dtype: int64
其他资源
以下教程解释了如何使用 pandas 中的其他常用功能: