首页 > 解决方案 > 我有一个带有日期列的单行数据框。如何添加 10 行,每行每次将日期更改 14 天?

问题描述

例如我的数据框只有一行,有两列,日期和金额。日期为 2020 年 1 月 1 日,金额为 100 美元。我想在日期上增加 14 天并在金额上增加 5%,因此创建一个新行。然后再做一次,再做九次。最好的方法是什么?我一直在谷歌搜索并检查各种方法来追加、添加、使用 loc、iloc、追加、where、for 循环,但我无法弄清楚。

谢谢!

标签: pythonpandasjupyter

解决方案


也许像这样?

import pandas as pd
from datetime import date, timedelta

df = pd.DataFrame(columns=['Date', 'Amount'])
day = date(2020, 1, 1)
amount = 100
for i in range(11):
     df.loc[i] = [day, amount]
     day += timedelta(days=14)
     amount *= 1.05
print(df)

结果:

          Date   Amount
0   2020-01-01      100
1   2020-01-15      105
2   2020-01-29   110.25
3   2020-02-12  115.763
4   2020-02-26  121.551
5   2020-03-11  127.628
6   2020-03-25   134.01
7   2020-04-08   140.71
8   2020-04-22  147.746
9   2020-05-06  155.133
10  2020-05-20  162.889

推荐阅读