python - 计算熊猫数据帧中每组的行数
问题描述
我有一个像这样的数据框:
canopy speed
0 1 3.3
1 2 3.3
2 2 3.1
3 2 3.1
4 2 3.1
5 2 3.0
6 2 3.0
7 2 3.5
8 2 3.5
我想计算 and 的每个组合的行数(观察)canopy
并speed
绘制它。我希望在情节中看到类似的东西:
canopy = 2:
3.3 1
3.1 3
3.0 2
3.5 3
解决方案
你可以这样做:
df.groupby('canopy')['speed'].value_counts().unstack('canopy').plot.bar()
这为您提供了一些选项,例如在每个组内进行规范化(获取频率而不是计数):
(df
.groupby('canopy')['speed']
.value_counts(normalize=True)
.unstack('canopy').plot.bar()
)
而且,当然,您可以控制speed
值的四舍五入(正如@QuangHoang 正确提到的那样:对浮点数进行分组不是一个好主意——我要补充一点:没有一些四舍五入):
(df
.assign(speed=df['speed'].round(0))
.groupby('canopy')['speed']
.value_counts()
.unstack('canopy').plot.bar()
)
推荐阅读
- java - spring-data-jpa 1.11.16 带游标的存储过程
- swift - swift 为什么要使用扩展程序
- java - 使用 java8 流从多级内部列表中检索数据
- python - AttributeError:“系列”对象没有属性“重塑”
- java - Opengl - GLSL - 在一个浮点数中存储 4 个字节并将其发送到着色器
- logstash - 关于传递给zabbix trapper的ELK-Logstash关键字过滤器
- python - 如何在python中制作正则表达式
- wordpress - 许多带有尾随双斜杠的 URL?
- react-native - 推送不在标签 wix v2 中的屏幕
- java - NoClassDefFoundError:Android 应用程序崩溃