关于Pandas count()与values_count()的用法及区别
在Python的Pandas库中,count()
和value_counts()
都是用于数据统计的函数,但是它们的用途有所不同。
count()
函数通常用于DataFrame和Series对象,用来计数非NA/null值的数量。它可以应用于整个DataFrame或者某个Series,或者DataFrame的行或列。
举个例子:
import pandas as pd
# 创建一个DataFrame
df = pd.DataFrame({
'A': [1, 2, 3, None, None],
'B': [1, 1, 1, 1, 1],
'C': [1, 1, 1, 2, 2]
})
# 使用count函数计算每列非NA/null的数量
count_per_column = df.count()
print(count_per_column)
# 使用count函数计算每行非NA/null的数量
count_per_row = df.count(axis=1)
print(count_per_row)
输出会是:
A 3
B 5
C 5
dtype: int64
0 3
1 3
2 3
3 2
4 2
dtype: int64
value_counts()
函数通常用于Series对象,用来计数每个唯一值出现的频次。此函数仅适用于单个列,通常用于数据探索阶段,可以快速了解一个列中不同值的分布情况。
例如:
import pandas as pd
# 创建一个Series
s = pd.Series([1, 1, 2, 2, 2, 3, None])
# 使用value_counts函数计算每个唯一值的出现次数
value_counts = s.value_counts(dropna=False) # 包括NaN在内的计数
print(value_counts)
输出会是:
2.0 3
1.0 2
NaN 1
3.0 1
dtype: int64
注意,value_counts()
函数默认情况下不计算NA/null值的频次,如果要计算,需要将dropna
参数设置为False
。
总结一下,两者区别主要在于:
count()
是用来统计非NA/null的数量,可以作用于DataFrame的行和列,而value_counts()
用来统计Series中各个值的出现频次。value_counts()
默认情况下不计算NA/null值,但可以通过设置dropna=False
来包含这些值。count()
返回的是一个Series,其中包含了每个列或行的计数。value_counts()
返回的是一个Series,其中包含了每个唯一值的计数,且通常按计数降序排列。
在数据分析的实际工作中,这两个函数都很常用,通常根据需要统计的是整体非空值数目还是单独每个非重复值的数目来选择使用哪一个函数。
(鼠标移出事件) Vue中常用的鼠标移入移出事件详解 用户数量太多请稍后尝试 全网首发(图文详解1)
(js error) JS常见错误(Error)及处理方案详解 JavaScript错误分类:语法运行时和逻辑错误 全网首发(图文详解1)