Python 如何在一个表中同时显示聚合计数和百分比

Python 如何在一个表中同时显示聚合计数和百分比,python,pandas,dataframe,counting,Python,Pandas,Dataframe,Counting,创建汇总计数和百分比的输出表的最简单方法是什么?到目前为止,我只能编写单独的查询来提取总计数和百分比,但不能同时显示这两个结果 import pandas as pd d = { 'color': ['RED', 'WHITE', 'RED', 'BLUE', 'BLUE'], 'count': ['1', '1', '3', '2', '3']} df = pd.DataFrame(d) df.color.value_counts() df.color.value_count

创建汇总计数和百分比的输出表的最简单方法是什么?到目前为止,我只能编写单独的查询来提取总计数和百分比,但不能同时显示这两个结果

import pandas as pd

d = { 'color': ['RED', 'WHITE', 'RED', 'BLUE', 'BLUE'],
      'count': ['1', '1', '3', '2', '3']}

df = pd.DataFrame(d)

df.color.value_counts()
df.color.value_counts() / len(df)

你的想法是对的。避免重新计算
值\u计数的一种方法是通过

或者,您可以先将序列转换为数据帧:

res = df.color.value_counts().to_frame('color')
res['pct'] = res['color'] / res['color'].sum()

print(res)

       color  pct
BLUE       2  0.4
RED        2  0.4
WHITE      1  0.2
res = df.color.value_counts().to_frame('color')
res['pct'] = res['color'] / res['color'].sum()

print(res)

       color  pct
BLUE       2  0.4
RED        2  0.4
WHITE      1  0.2