填写缺失的日期值并根据前一行填充第二列
Fill in missing date values and populate second column based on previous row
我有一个包含 2 列的 csv,其中填充了日期,第二列包含比率值。根据日期列,该文件包含一些缺失的行。
我想要一些 python 代码,可以填充第一行和最后一行之间(01/01/2019 和 14/01/2019 之间)缺失的日期,第二个任务是然后用前几天的汇率填写缺失的汇率。
例如,缺少 1 月 4 日和 05 日,需要创建这些行并且前几天的汇率为 1 月 3 日 - 1.12,因此需要填充 1 月 4 日和 05 日的汇率。
代码需要是动态的,因此每个文件的第一行和最后一行并不总是相同的。例如,第二个文件的第一行和最后一行值可以分别为 03/02/2019 和 25/02/2019。如果可能,相同的代码需要能够在每个文件上 运行。
输入为 csv,输出也需要为 csv 文件。
输入 -
Date,Rate
01/01/2019,1.12
02/01/2019,1.13
03/01/2019,1.12
06/01/2019,1.11
07/01/2019,1.13
08/01/2019,1.14
09/01/2019,1.13
10/01/2019,1.11
12/01/2019,1.12
13/01/2019,1.13
14/01/2019,1.14
如果您有任何问题,请告诉我。
首先你需要确定你的日期是datetime
类型,你可以使用resample
:
# resample
df['Date'] = pd.to_datetime(df['Date'], dayfirst=True)
new_df = df.set_index('Date').resample('D').ffill().reset_index()
输出:
Date Rate
0 2019-01-01 1.12
1 2019-01-02 1.13
2 2019-01-03 1.12
3 2019-01-04 1.12
4 2019-01-05 1.12
5 2019-01-06 1.11
6 2019-01-07 1.13
7 2019-01-08 1.14
8 2019-01-09 1.13
9 2019-01-10 1.11
10 2019-01-11 1.11
11 2019-01-12 1.12
12 2019-01-13 1.13
13 2019-01-14 1.14
我有一个包含 2 列的 csv,其中填充了日期,第二列包含比率值。根据日期列,该文件包含一些缺失的行。
我想要一些 python 代码,可以填充第一行和最后一行之间(01/01/2019 和 14/01/2019 之间)缺失的日期,第二个任务是然后用前几天的汇率填写缺失的汇率。
例如,缺少 1 月 4 日和 05 日,需要创建这些行并且前几天的汇率为 1 月 3 日 - 1.12,因此需要填充 1 月 4 日和 05 日的汇率。
代码需要是动态的,因此每个文件的第一行和最后一行并不总是相同的。例如,第二个文件的第一行和最后一行值可以分别为 03/02/2019 和 25/02/2019。如果可能,相同的代码需要能够在每个文件上 运行。
输入为 csv,输出也需要为 csv 文件。
输入 -
Date,Rate
01/01/2019,1.12
02/01/2019,1.13
03/01/2019,1.12
06/01/2019,1.11
07/01/2019,1.13
08/01/2019,1.14
09/01/2019,1.13
10/01/2019,1.11
12/01/2019,1.12
13/01/2019,1.13
14/01/2019,1.14
如果您有任何问题,请告诉我。
首先你需要确定你的日期是datetime
类型,你可以使用resample
:
# resample
df['Date'] = pd.to_datetime(df['Date'], dayfirst=True)
new_df = df.set_index('Date').resample('D').ffill().reset_index()
输出:
Date Rate
0 2019-01-01 1.12
1 2019-01-02 1.13
2 2019-01-03 1.12
3 2019-01-04 1.12
4 2019-01-05 1.12
5 2019-01-06 1.11
6 2019-01-07 1.13
7 2019-01-08 1.14
8 2019-01-09 1.13
9 2019-01-10 1.11
10 2019-01-11 1.11
11 2019-01-12 1.12
12 2019-01-13 1.13
13 2019-01-14 1.14