我正在寻找一种方法来生成一个 Dataframe 的汇总统计信息。考虑以下示例:
>> df = pd.DataFrame({"category":['u','v','w','u','y','z','y','z','x','x','y','z','x','z','x']})
>> df['category'].value_counts()
z 4
x 4
y 3
u 2
v 1
w 1
>> ??
count pct
z 4 27%
x 4 27%
y 3 20%
Other (3) 4 27%
结果是对最后n=3行的值计数求和,删除它们,然后将它们作为一行添加到原始值计数中。另外,将所有值都表示为百分比也很好。有什么想法如何实现这个吗?干杯!
3条答案
按热度按时间djp7away1#
对于带有百分比的DataFrame,使用带有索引的
Series.iloc
,按Series.to_frame
创建DataFrame,添加用百分比填充的新行和新列:jogvjijk2#
我将使用
tail(-3)
来获取除前3个值之外的最后几个值:输出:
cyvaqqii3#
此片段
会给予你你所需要的。也是在一个很好的格式;)