當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python Pandas Series value_counts方法用法及代碼示例

Pandas Series.value_counts(~) 方法返回係列中唯一值的計數。

參數

1.normalize | boolean | optional

是否對計數進行歸一化,使其總和為 1。默認情況下,normalize=False

2. sort | boolean | optional

是否按計數排序。默認情況下,sort=True

3. ascending | boolean | optional

此參數僅在 sort=True 時相關。

  • 如果是 True ,則按升序排序

  • 如果是 False ,則按降序排序

默認情況下,ascending=False

4. bins | int | optional

如果設置了 bins,則計數將基於間隔。間隔的寬度將如下確定:

[max(Series) - min(Series)] / bins

默認情況下,bins=None

5. dropna | boolean | optional

  • 如果 True ,則 NaN 將被忽略。

  • 如果 False ,則 NaN 也將被計數。

默認情況下, dropna=True

返回值

一個Series

例子

基本用法

要獲取係列中唯一值的計數:

s = pd.Series([4,3,3,5,np.nan])
s.value_counts()



3.0   2
5.0   1
4.0   1
dtype: int64

在這裏,請注意默認情況下如何忽略 dropna=True 以來的缺失值。

指定標準化

將計數歸一化,使其總和為 1:

s = pd.Series([4,3,3,5,np.nan])
s.value_counts(normalize=True)



3.0   0.50
5.0   0.25
4.0   0.25
dtype: float64

指定排序

默認情況下, sort=True ,這意味著結果係列按計數排序:

s = pd.Series([4,3,3,5,np.nan])
s.value_counts()



3.0   2
5.0   1
4.0   1
dtype: int64

設置 sort=False 將禁用此類排序:

s = pd.Series([4,3,3,5,np.nan])
s.value_counts(sort=False)



4.0   1
3.0   2
5.0   1
dtype: int64

指定升序

默認情況下, ascending=True ,這意味著結果係列按計數升序排序:

s = pd.Series([4,3,3,5,np.nan])
s.value_counts()



4.0   1
5.0   1
3.0   2
dtype: int64

要按降序排序,請像這樣設置ascending=False

s = pd.Series([4,3,3,5,np.nan])
s.value_counts(ascending=False)



3.0   2
5.0   1
4.0   1
dtype: int64

指定箱子

我們可以通過傳遞bins來基於間隔進行計數,而不是計算唯一值,如下所示:

s = pd.Series([4,3,3,5,np.nan])
s.value_counts(bins=3)



(2.9970000000000003, 3.667]    2
(4.333, 5.0]                   1
(3.667, 4.333]                 1
dtype: int64

這裏,2 個值位於區間 2.9973.667 中。

請注意,每個間隔的寬度由以下公式計算:

[max(s) - min(s)] / 3 = 2/3 = 0.666

計算 value_counts 中的 nan

默認情況下, dropna=True ,這意味著所有 NaN 都會被忽略。我們可以選擇通過傳入 dropna=False 將它們包含在計數中,如下所示:

s = pd.Series([4,3,3,5,np.nan])
s.value_counts(dropna=False)



3.0    2
NaN    1
5.0    1
4.0    1
dtype: int64

相關用法


注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 Pandas Series | value_counts method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。