如您所见,D 列下的计算遵循特定模式,即先验值 * (1+the rate%/365)所以在单元格 D2 中你有 100*(1+8%/365) D3 将是 100.021918*(1+8.06%/365)有没有一种简单的方法可以在 python 中做到这一点,因为我不想为此目的使用 excel....而且我的日常数据可以追溯到 30 年前。
2 回答
郎朗坤
TA贡献1921条经验 获得超9个赞
cell_d = [100]
rates = [0.08, 0.0806, 0.0812, 0.0813, 0.08]
for i, rate in enumerate(rates):
cell_d.append(cell_d[i] * (1 + rate/365))
pd.DataFrame({'rates': rates, 'cell_d': cell_d[1:]})
可能应该重命名cell_d为更有意义的东西。
神不在的星期二
TA贡献1963条经验 获得超6个赞
我不知道有任何“DataFrame 友好”的方法可以做到这一点,但是您可以使用 for 循环简单地迭代具有索引的行。
for i in range(1, num_rows): df[i]["value"] = df[i-1]["value"] * (1 + df[i]["rate"]/365)
添加回答
举报
0/150
提交
取消