如何根据其他行更新行?

How to update rows based on other rows?

让我举个例子问我的问题。例如我有一个这样的数据框:

DAY     A     B     
0       10    6
1       12    8
2       18    6
3       20    10
4       16    12
5       12    8
6       14    10

我想根据前一列更改每一列。例如 在第 1 行中,我希望我的 A 值为 = (10+12)/2 * 5 = 55。 B 值和其他行也一样。我想要的数据框应该是这样的:

DAY     A     B
1       55    35
2       75    35
3       95    40
4       90    55
5       70    50
6       65    45

我需要你们的帮助。

使用DataFrame.add for add shifted values by DataFrame.shift with divide by 2 and multiple by 5 and last remove first only NaN row by DataFrame.iloc:

df = df.add(df.shift()).div(2).mul(5).iloc[1:]
print (df)
        A     B
DAY            
1    55.0  35.0
2    75.0  35.0
3    95.0  40.0
4    90.0  55.0
5    70.0  50.0
6    65.0  45.0

或者可以使用滚动 mean2 将 2 行相加并除以 2:

df = df.rolling(2).mean().mul(5).iloc[1:]
print (df)
        A     B
DAY            
1    55.0  35.0
2    75.0  35.0
3    95.0  40.0
4    90.0  55.0
5    70.0  50.0
6    65.0  45.0