如何从Pandas的value_counts()中提取数值名称和计数

  • Post category:Python

要从 Pandas 的 value_counts() 中提取数值名称和计数,可以使用如下方式:

首先,要明确 value_counts() 方法返回的是一个 Pandas 序列(Series)对象,其索引为数据集中唯一值,值为计数。因此,可以利用该序列对象的索引和值属性分别获取唯一值和计数。

# 导入 Pandas 库
import pandas as pd

# 创建一个 Pandas 数据框
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Alice', 'Bob', 'Alice'],
        'age': [25, 30, 35, 40, 25, 30, 25]}
df = pd.DataFrame(data)

# 对 name 列使用 value_counts() 方法
vc = df['name'].value_counts()

# 获取唯一值列表
value_list = vc.index.tolist()
print('Value List:', value_list)

# 获取计数列表
count_list = vc.values.tolist()
print('Count List:', count_list)

以上代码的输出结果为:

Value List: ['Alice', 'Bob', 'Charlie', 'David']
Count List: [3, 2, 1, 1]

其中,vc.index 获取唯一值,vc.values 获取计数值,可以调用 .tolist() 方法将结果转换为列表。

除此之外,也可以使用 for 循环遍历序列对象,获取每个索引和对应的值:

for i, v in vc.items():
    print(i, v)

此处 vc.items() 返回一个生成器对象,每次迭代返回一个元组,元组的第一个元素为索引(唯一值),第二个元素为值(计数)。

以上就是从 Pandas 的 value_counts() 中提取数值名称和计数的基本方法。