关于Pandas count()与value_counts()的用法及区别
1. count()方法
count()
方法用于计算DataFrame或Series中非缺失值的数量。其语法格式为:
DataFrame.count(axis=0, level=None, numeric_only=False)
Series.count()
其中,参数说明如下:
axis
:0表示按列计算,1表示按行计算,可选,默认为0。level
:指定多重索引的级别,可选。numeric_only
:如果为True,则只统计数值类型的数据,可选,默认为False。
示例一:
import pandas as pd
data = {'name':['Tom', 'Lucy', 'Lily', 'Jane'],
'age':[20, 19, 21, None],
'gender':['M', 'F', 'F', None]}
df = pd.DataFrame(data)
print(df.count())
运行结果如下:
name 4
age 3
gender 3
dtype: int64
分析:该示例中,数据中有4个记录,但age
和gender
列中各有一个缺失值,因此其计算非缺失值数量为3。
2. value_counts()方法
value_counts()
方法用于计算Series中不同元素的出现次数。其语法格式为:
Series.value_counts(normalize=False, sort=True, ascending=False, bins=None, dropna=True)
其中,参数说明如下:
normalize
:如果为True,则返回每个元素出现的频率,可选,默认为False。sort
:如果为True,则按出现频率排序,可选,默认为True。ascending
:如果为False,则降序排列,可选,默认为False。bins
:用于离散化连续型数据。dropna
:如果为False,则不忽略缺失值。
示例二:
import pandas as pd
data = {'name':['Tom', 'Lucy', 'Lily', 'Jane', 'Lucy', 'Jane', 'Tom', 'Tom'],
'age':[20, 19, 21, 19, 18, 20, 21, None],
'gender':['M', 'F', 'F', 'F', 'M', None, 'M', 'M']}
df = pd.DataFrame(data)
s = df['name']
print(s.value_counts())
运行结果如下:
Tom 3
Lucy 2
Jane 2
Lily 1
Name: name, dtype: int64
分析:该示例中,统计了name
列中的各个元素出现的次数,并按照次数从大到小排列。其中,Tom出现了3次,Lucy和Jane各出现了2次,Lily出现了1次。
3. count()和value_counts()方法的区别
-
count()
方法计算的是DataFrame或Series中非缺失值的数量,而value_counts()
方法计算的是Series中不同元素出现的次数。 -
count()
方法适用于DataFrame或Series,而value_counts()
方法仅适用于Series。 -
count()
方法的返回类型是整数,而value_counts()
方法的返回类型是Series。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:关于Pandas count()与values_count()的用法及区别 - Python技术站