You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pandas使用value_counts()仅返回单列,如何得到双列数据集用于matplotlib绘图

Pandas 频次统计结果转两列DataFrame方案

pandas.Series.value_counts()默认返回的是索引为唯一值、值为对应频次的Series对象,要转成两列结构化数据集可以直接用以下两种常用方案:

方案1:reset_index 快速转换

这是最简洁的写法,直接调用reset_index将索引转为常规列,再重命名列名即可:

# 生成两列DataFrame
count_df = file['Column_1'].value_counts().reset_index()
# 自定义列名,可根据需求修改
count_df.columns = ['分类值', '出现频次']

转换后输出结构示例:

分类值出现频次
apple3
pear2
orange1
banana1

方案2:链式写法转换

适合需要在统计同时做排序、过滤等后续操作的场景:

count_df = (
    file['Column_1']
    .value_counts()
    .to_frame('出现频次')  # 直接指定频次列的列名
    .rename_axis('分类值') # 指定分类列的列名
    .reset_index()
    # 可追加额外操作,比如按分类值排序:.sort_values('分类值')
)

转换完成后可直接对接matplotlib绘图,示例:

import matplotlib.pyplot as plt

plt.bar(count_df['分类值'], count_df['出现频次'])
plt.xlabel('分类')
plt.ylabel('出现次数')
plt.show()

内容的提问来源于stack exchange,提问作者mondainai_777

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 03:54:02