python - 如何根据聚类结果计算级别值之间的差异?
问题描述
假设我们有一个包含两列的 pandas 数据框:
Col1 Col2
0 15
0 20
0 30
1 40
1 45
0 50
0 55
2 60
2 70
我需要根据 col2 在其他数据框或数组中计算这个:
Col1 Col2
0 30-15=15
1 45-40=5
0 55-50=5
2 70-60=10
最终结果:
Col1 Col2
0 15
1 5
0 5
2 10
谢谢
解决方案
使用np.ptp
(峰到峰)
df.groupby(df.Col1.ne(df.Col1.shift()).cumsum()).Col2.apply(np.ptp)
Col1 Col2
0 15
1 5
0 5
2 10
推荐阅读
- html - HTML 输出加载和显示滚动条的时间过长
- magento - 在页面加载时获取数据库查询日志
- react-native - 如何使用 eslint 设置内联样式规则?
- discord.py - discord.py 如何使用 client.login 而不是 client.run
- r - 如何使列中的值成为具有相应值的单独列?
- python - python, mongo and marshmallow: datetime struggles
- sql - SQL Server 客户端字符串到(强制)整数转换问题
- python - 如何将我的模拟刷新到开始?
- android - 为什么模拟器中没有显示格式化文本
- c++ - 我们不能在 C++ 中声明模板成员吗?