【发布时间】:2020-05-28 23:37:57
【问题描述】:
我有以下df。
cases percent_change
100 0.01
NaN 0.00
NaN -0.001
NaN 0.05
对于cases 列的下一行(从第二行开始),计算为next cases = previous cases * (1 + previous percent_change),或者对于低于 100 的行,计算为 100 * (1 + 0.01) = 101。因此,它应该像这样填充
cases percent_change
100 0.01
101 0.00
101 -0.001
100.899 0.05
我想忽略第一行(或 100 行)。这是我的代码不起作用
df.loc[1:, 'cases'] = df['cases'].shift(1) * (1 + df['percent_change'].shift(1))
也试过了,没有成功
df.loc[1:, 'cases'] = df.loc[1:, 'cases'].shift(1) * (1 + df.loc[1:, 'percent_change'].shift(1))
【问题讨论】:
标签: python-3.x pandas data-science