python - 按百分比计算 Python Pandas 组
问题描述
我想找出特定组(按 2 列分组)的出现百分比以及单列分组的出现次数。如下所示,我想计算 group by(Cardno,Sitedesc) 除以 group by(Cardno) 的发生率。提前致谢
数据
Cardno Sitedesc
0 883484 30
1 1017011 59
2 304531 48
3 304531 59
4 304531 32
5 687253 46
6 351841 59
7 976365 58
8 983485 46
9 326465 30
10 326465 40
11 983485 58
12 983485 46
13 983485 48
14 847535 31
15 687250 47
16 687250 46
解决方案
利用:
s = df.groupby(['Cardno','Sitedesc']).size()
out = s.div(s.sum(level=0), level=0)
print (out)
Cardno Sitedesc
304531 48 1.0
326465 30 1.0
351841 59 1.0
395354 59 1.0
687253 46 1.0
687463 59 1.0
847535 31 1.0
883484 30 1.0
976365 58 1.0
983485 46 1.0
1017011 59 1.0
1038308 58 1.0
dtype: float64
推荐阅读
- javascript - 无法读取 null React 的属性“样式”
- django - Django 嵌套模板
- javascript - Laravel 5.6 如何将 URL 作为 URL 参数传递?
- c++builder - 窗口屏幕应用程序行为,如屏幕键盘
- google-analytics - 谷歌分析 - 产品列表视图 - 谷歌如何计算指标?
- servicenow - ServiceNow 个人开发者实例启用了 SecurityOperations 插件?
- android - firebase 中创建帐户的结果为 true,但未在 firebase 控制台中添加
- php - 如何在不使用依赖注入器的情况下注册伏特引擎?
- javascript - ChartsJS 获取工具提示的数据/数据集标签的值
- vue.js - 如何在 vue 中使用不透明度过渡轻松替换图像?