📅  最后修改于: 2023-12-03 14:46:30.673000             🧑  作者: Mango
Series.value_counts()
是一个pandas系列(Series)方法,它可以对一个系列对象中每个值出现的次数进行统计计数,常常用于数据清洗和预处理的过程中。该方法的返回值是一个新的pandas系列,其中每个值是输入序列中独有的值,并且它们每个都与相应的序列值的出现次数(频率)相关联。
normalize
: bool,当设置为True时,返回频率而不是实际计数,即返回值的总和将等于1。
sort
: bool,当设置为True时,以降序返回统计计数表。
ascending
: bool,当设置为True时,以升序返回统计计数表。
bins
: int,设置为一个整数时,它指定要使用的离散化桶(bin)的数量。
dropna
: bool,当设置为True时,将不计算缺失(NA)值。
import pandas as pd
# 创建一个系列对象
data = pd.Series(['apple', 'banana', 'apple', 'banana', 'pear', 'banana', 'pear', 'banana'])
# 使用 value_counts() 统计每个值出现的次数
counts = data.value_counts()
print(counts)
输出结果:
banana 4
pear 2
apple 2
dtype: int64
import pandas as pd
# 创建一个系列对象
data = pd.Series(['apple', 'banana', 'apple', 'banana', 'pear', 'banana', 'pear', 'banana'])
# 使用 value_counts() 统计每个值出现的频率
counts = data.value_counts(normalize=True)
print(counts)
输出结果:
banana 0.5
pear 0.25
apple 0.25
dtype: float64
import pandas as pd
# 创建一个系列对象
data = pd.Series(['apple', 'banana', 'apple', 'banana', 'pear', 'banana', 'pear', 'banana'])
# 使用 value_counts() 并排序
counts = data.value_counts(sort=True)
print(counts)
输出结果:
banana 4
pear 2
apple 2
dtype: int64
import pandas as pd
# 创建一个系列对象
data = pd.Series([1.5, 1.7, 0.5, 1.2, 2.5, 2.7, 0.9, 2.2])
# 指定 bins=2,使用 value_counts() 进行分桶计数
counts = data.value_counts(bins=2)
print(counts)
输出结果:
(1.212, 1.95] 4
(0.484, 1.212] 3
dtype: int64
import pandas as pd
import numpy as np
# 创建一个包含缺失值的系列对象
data = pd.Series([1.5, 1.7, np.nan, 1.2, 2.5, 2.7, 0.9, 2.2])
# dropna=True,不计算缺失值
counts = data.value_counts(dropna=True)
print(counts)
输出结果:
2.7 1
2.5 1
2.2 1
1.7 1
1.5 1
1.2 1
0.9 1
dtype: int64
Series.value_counts()
是一个十分有用的pandas系列方法,它可以轻松地进行基础数据的统计计数,包括频率的计算、排序、分组计数等功能。此方法的参数十分丰富,可根据不同场景进行设置。