python - 如何从两行中获取值的总和并将其分配给行本身 pandas
问题描述
我需要在循环 + 1 中获取第 n 行的总和,例如,在下面的数据集中:
x y z
0 2 3 4
1 5 6 7
2 8 9 10
3 11 12 0
我需要对第 0 行和第 1 行的值求和,并将其分配给第 0 行本身,将第 1 行和第 2 行的值求和并将其分配给第 1 行,将第 2 行和第 3 行的值求和并将其分配给 2,以及第 3 行保留其值。结果 df 将是:
x y z
0 7 9 11
1 13 15 17
2 19 21 10
3 11 12 0
想象一下我有很多行,比如 10k 并且需要一般地做
解决方案
通过DataFrame.rolling
索引 in 来反转行的顺序DataFrame.iloc
:
df = df.iloc[::-1].rolling(2, min_periods=0).sum().iloc[::-1]
print (df)
x y z
0 7.0 9.0 11.0
1 13.0 15.0 17.0
2 19.0 21.0 10.0
3 11.0 12.0 0.0
推荐阅读
- c++ - 条件渲染
- react-native - iOS 上的 React Native 0.60+:代码推送、Sentry、React Native Navigation v3 和 AppDelegate.m
- c - STM32 - DWT 循环计数与我的预测不同
- javascript - 在 t-datepicker 中禁用日期
- sql - 如果列中存在空值,如何将 nvarchar 转换为日期时间
- amazon-web-services - How to provide AWS API Gateway Custom Authorizer a Lambda Permission?
- php - 如何在两个日期之间回显几个工作日(仅限周一和周二)?
- c# - Can viewbag handle redirects while still maintaining its value?
- neo4j - Neo4j 配置并行还是串行操作?
- wordpress - 如何使 gvlogic 条件短代码在小部件上工作?