我正在计算每年的负数和正数。最终,我希望获得每年的负面和正面百分比。
我尝试了按年份分组并计算类别,但是新列显示时没有名称。
df1= df.groupby(['Year','Count of Negative/Positive Margins'])['Count of Negative/Positive Margins'].count()
df1.head()
Out[194]:
Year Count of Negative/Positive Margins
2005 1 4001
2 1373
2006 1 4046
2 1304
2007 1 4156
Name: Count of Negative/Positive Margins, dtype: int64
这是我的预期输出:
2005 1 74%
2 26%
.
.
.
答案 0 :(得分:1)
使用SeriesGroupBy.value_counts
仅对列Year
和参数normalize=True
进行分组,然后乘以100
,再乘以Series.round
,转换为字符串并添加{{ 1}}:
%