python - 我有一个带有日期列的单行数据框。如何添加 10 行,每行每次将日期更改 14 天?
问题描述
例如我的数据框只有一行,有两列,日期和金额。日期为 2020 年 1 月 1 日,金额为 100 美元。我想在日期上增加 14 天并在金额上增加 5%,因此创建一个新行。然后再做一次,再做九次。最好的方法是什么?我一直在谷歌搜索并检查各种方法来追加、添加、使用 loc、iloc、追加、where、for 循环,但我无法弄清楚。
谢谢!
解决方案
也许像这样?
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
推荐阅读
- javascript - babel 7 和函数绑定运算符
- android - 通过蓝牙耳机 VoIP 接听电话
- ios - 如何在 iOS 上的 Swift 中创建类似于 Snapchat 的自定义过渡动画
- javascript - 如何将我的聊天消息设为私密?
- node.js - Winston 不显示错误详细信息
- c++ - 如何在 SFML 2.5.0 中的两个 RectangleShapes 之间进行碰撞?(C++)
- c# - 文本框行上的“清除”按钮仅出现一次
- html - *ngIf & Jquery 行为怪异 - Angular 5
- c# - 如何在 VS 2017 中使用 EF 6.x EntityObject Generator
- html - Angular 6 路由器插座样式应用于其下方的元素