pandas.Series.value_counts

pandas.Series.value_counts

Series.value_counts(normalize=Falsesort=Trueascending=Falsebins=Nonedropna=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
原文地址:https://www.cnblogs.com/yxh-amysear/p/9438163.html