python - 给定一组索引,在数据框中的每个索引之间聚合
问题描述
给定一个索引数组,
array([0, 12, 42, 50, 64, 67, 85, 90, 100]
df
有没有办法在不循环的情况下从数据帧中获取这些索引之间的值的总和df.iloc[i:i+1].sum()
?
解决方案
IIUC,您可以使用此方法:
df = pd.DataFrame(np.arange(0,100))
a = np.array([0, 12, 42, 50, 64, 67, 85, 90, 100])
df.groupby(pd.cut(df.index, a)).sum()
输出:
0
(0, 12] 78
(12, 42] 825
(42, 50] 372
(50, 64] 805
(64, 67] 198
(67, 85] 1377
(85, 90] 440
(90, 100] 855
推荐阅读
- php - 将波斯语转换为英语数字问题
- paypal - Braintree 生产帐户请求被拒绝
- javascript - 组件更新时添加类
- node.js - 如何在 Express/node js 中发送错误响应?
- mysql - Docker - 使用 sequel pro 连接到 mysql
- android - 使用 Glide 从 filesDir() 加载九个补丁
- java - 如何减少使用 mapStruct 映射 Java bean 的时间
- c++ - 字符串问题,错误:没有构造函数实例与参数列表匹配
- python - 无法通过 xcom push 获取返回值
- angular - ag-grid加载后如何禁用按钮