value_counts()方法返回一個序列Series,該序列包含每個值的數量(對於數據框中的任何列,value_counts()方法會返回該列每個項的計數)
value_counts()是Series擁有的方法,一般在DataFrame中使用時,需要指定對哪一列進行使用
語法
value_counts(values,
sort=True,
ascending=False,
normalize=False,
bins=None,
dropna=True)
參數說明
sort: 是否要進行排序(默認進行排序,取值為True)
ascending: 默認降序排序(取值為False),升序排序取值為True
normalize: 是否要對計算結果進行標准化,並且顯示標准化後的結果,默認是False
bins: 可以自定義分組區間,默認是否
dropna: 是否包括對NaN進行計數,默認不包括
import pandas as pd
import numpy as np
df = pd.DataFrame({'City': ['北京', '廣州', '深圳', '上海', '大連', '成都', '深圳', '廈門', '北京', '北京', '上海', '珠海'],
'Revenue': [10000, 10000, 5000, 5000, 40000, 50000, 8000, 5000, 5000, 5000, 10000, 12000],
'Age': [50, 43, 34, 40, 25, 25, 45, 32, 25, 25, 34, np.nan]})
# 1.查看'City'這一列的計數結果(對給定列裡面的每個值進行計數並進行降序排序,缺失值nan也會被排除)
# value_counts()並不是未帶任何參數,而是所有參數都是默認的
res1 = df['City'].value_counts()
# 2.查看'Revenue'這一列的計數結果(采用升序的方式)
res2 = df['Revenue'].value_counts(ascending=True)
# 3.查看'Age'這一列的計數占比(使用標准化normalize=True)
res3 = df['Age'].value_counts(ascending=True,normalize=True)
# 4.查看'Age'這一列的計數結果(展示NaN值的計數)
res4 = df['Age'].value_counts(dropna=False)
# 5.查看'Age'這一列的計數結果(不展示NaN值的計數)
# res5 = df['Age'].value_counts()
res5 = df['Age'].value_counts(dropna=True)
df
res1
res2
res3
res4
res5