pandas.Series.value_counts
Series.
value_counts
(normalize=False, sort=True, ascending=False, bins=None, dropna=True)
功能:返回包含唯一值计数的对象。结果对象将按降序排列,以便第一个元素是最常出现的元素。 不包括默认的NA值。
参数:normalize : boolean, default False 如果为True,则返回的对象将包含唯一值的相对频率。
sort : boolean, default True 按值排序
ascending : boolean, default False 按升序排序
bins : integer, optional 而不是数值计算,把它们分成半开放的箱子,一个方便的pd.cut,只适用于数字数据
dropna : boolean, default True 不包括NaN的数量。
返回:计数:Serise
-
Series 情况下
1 import numpy as np 2 import pandas as pd 3 from pandas import DataFrame 4 from pandas import Series 5 ss = Series(['Tokyo', 'Nagoya', 'Nagoya', 'Osaka', 'Tokyo', 'Tokyo']) 6 ss.value_counts() #value_counts 直接用来计算series里面相同数据出现的频率
Tokyo 3 Nagoya 2 Osaka 1 dtype: int64
- DataFrame 情况下
1 import numpy as np 2 import pandas as pd 3 from pandas import DataFrame 4 from pandas import Series 5 df=DataFrame({'a':['Tokyo','Osaka','Nagoya','Osaka','Tokyo','Tokyo'],'b':['Osaka','Osaka','Osaka','Tokyo','Tokyo','Tokyo']}) #DataFrame用来输入两列数据,同时value_counts将每列中相同的数据频率计算出来 6 print(df)
df:
a b 0 Tokyo Osaka 1 Osaka Osaka 2 Nagoya Osaka 3 Osaka Tokyo 4 Tokyo Tokyo 5 Tokyo Tokyo
1 df.apply(pd.value_counts) 2 a b 3 Nagoya 1 NaN #在b列中meiynagoya,因此是用NaN 表示。 4 Osaka 2 3.0 5 Tokyo 3 3.0