python - Python Pandas-根据给定窗口计算某列的总和并从某个值开始
问题描述
我正在尝试在 Python Pandas 数据框中创建一个新列,该列包含来自指定范围内另一列并从某一行开始的总和值。例如,在下面的数据框中,我想要 Trace 1 从第 3 行开始的 Value 列的总和(使用索引行号)。但是,我还需要对 Trace 2 重复相同的条件。此外,我需要从每个 Trace 的相同样本编号开始。有任何想法吗?
解决方案
国际大学联合会,
groupby
+ rolling
+sum
df = pd.DataFrame({'trace': [1]*5 + [2]*5, 'sample': list(range(1,6))*2,
'value': [0.25, 0.63, 0.98, 0.48, 0.52,0.79, 0.63, 0.11, 0.29, 0.81]})
df.groupby('trace').value.rolling(4).sum()
1 0 NaN
1 NaN
2 NaN
3 2.34
4 2.61
2 5 NaN
6 NaN
7 NaN
8 1.82
9 1.84
推荐阅读
- sql - Oracle SQL 通过从另一条记录中获取随机数据来更新一条记录中的字段(个人信息字段)
- .net - 如何在 ActiveReports 14 中将参数传递给 PDF 呈现?
- typescript - 单例服务的 Angular 单元测试
- excel - 为什么我在 Excel 中的宏中出现语法错误?
- python - 是否可以缩进没有特殊语法含义的块?
- c# - 正在返回一个列表
从 c# 中分配内存的属性 - python - 我的程序在检测单词中的特定字母时遇到问题
- python - 如何在python中执行能够在文本文件中显示前10个关键字的程序
- reactjs - React Hooks:获取数据后初始化本地状态
- oracle - 将大型 SQL 表转储为 .csv 并将其拆分为多个单独的 CSV 用于 Redshift