社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
私信  •  关注

WY Hsu

WY Hsu 最近创建的主题
WY Hsu 最近回复了
7 年前
回复了 WY Hsu 创建的主题 » 如何用python绘制df.groupby.value_counts()结果?[复制品]

我只是遇到了同样的问题,所以我在这里提出了我的想法。

警告

当你处理的数据结构 Pandas ,你必须知道 返回类型 .

这里的另一个解决方案

就像前面提到的那样, 熊猫 提供API pd.Series.to_frame .

步骤1

你也可以把 pd.Series pd.DataFrame 只是做

df_val_counts = pd.DataFrame(value_counts) # wrap pd.Series to pd.DataFrame

那么,你有一个 数据文件 列名称为的 'a' ,您的第一列将成为索引

Input:  print(df_value_counts.index.values)
Output: [2 1]

Input:  print(df_value_counts.columns)
Output: Index(['a'], dtype='object')

步骤2

现在怎么办?

如果要在此处添加新的列名,作为 数据文件 ,您可以通过 reset_index() .

然后,通过api列表更改列名 df.coloumns

df_value_counts = df_value_counts.reset_index()
df_value_counts.columns = ['unique_values', 'counts']

那么,你得到了你需要的

Output:

       unique_values    counts
    0              2         3
    1              1         2

完整答案在这里

import pandas as pd

df = pd.DataFrame({'a':[1, 1, 2, 2, 2]})
value_counts = df['a'].value_counts(dropna=True, sort=True)

# solution here
df_val_counts = pd.DataFrame(value_counts)
df_value_counts = df_value_counts.reset_index()
df_value_counts.columns = ['unique_values', 'counts'] # change column names