python - pandas 图形上不需要的级别和错误的计算
问题描述
我有以下数据集:
df = pd.DataFrame({'id':[1,2,3,4,5,6,7,8,9,10,11,12],
'city':['Pau','Pau','Pau','Pau','Pau','Pau','Lyon','Dax','Dax','Lyon','Lyon','Lyon'],
'type':['A','A','A','A','B','B','B','A','B','A','B','B'],
'val':[100,90,95,95,90,75,100,70,75,90,95,85]})
id city type val
0 1 Pau A 100
1 2 Pau A 90
2 3 Pau A 95
3 4 Pau A 95
4 5 Pau B 90
5 6 Pau B 75
6 7 Lyon B 100
7 8 Dax A 70
8 9 Dax B 75
9 10 Lyon A 90
10 11 Lyon B 95
11 12 Lyon B 85
我想创建一个按变量分组的图city
,并获取每种类型的频率百分比。我试过这个:
df.groupby(['city','type']).agg({'type':'count'}).transform(lambda x: x/x.sum()).unstack().plot()
但是我每组得到错误的值和不需要的“无”。预期值应该是:
type A B
city
Dax .50 .50
Lyon .33 .66
Pau .66 .33
解决方案
推荐阅读
- postgresql - 无法使用 text[] 数据类型创建表
- swift - 尝试重新创建 SwiftUI 列表演示时出现错误“无法推断复杂的闭包返回类型;添加显式类型以消除歧义”
- python - 如何使用 mod_wsgi 在单个域下托管多个 django 项目?
- c# - 如何根据一些黑名单获取列表项
- docker - Zeppelin 不会使用 conf/zeppelin-site.xml 文件
- php - 在浏览器中查看 pdf 流
- python - 在没有索引列的情况下使用 xlwings 导出数据框
- node.js - ZeroMQ 上的 NodeJS 点对点通信
- css - 绝对定位元素增加了巨大的空白
- excel - 在excel中启用/禁用下拉列表的单元格