📜  Python|熊猫 Series.value_counts()(1)

📅  最后修改于: 2023-12-03 14:46:30.673000             🧑  作者: Mango

Python | 熊猫 Series.value_counts()

简介

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系列方法,它可以轻松地进行基础数据的统计计数,包括频率的计算、排序、分组计数等功能。此方法的参数十分丰富,可根据不同场景进行设置。