我正在尝试建立并保持最新的数据帧/时间序列,在该数据帧/时间序列中,我从网站表中抓取数据,并希望获取最新数据,并将其添加到已经获得的数据中。数据框的示例如下:
Date Price
0 10/01/19 100
1 09/01/19 95
2 08/01/19 96
3 07/01/19 97
然后我想做的是运行我的小程序,让它确定我缺少1月11日和12日的数据,然后将其添加到数据框的顶部。我对使用.read_html编译数据框架并总体上构建数据框架感到非常满意,但这超出了我的才能。
我知道完成的任务通常是向您展示我到目前为止已经尝试过的事情,但是老实说,我实际上不知道从哪里开始。
非常感谢
答案 0 :(得分:1)
让我们将旧数据框表示为df
,如下所示:
Date Price
0 2019-01-10 100
1 2019-01-09 95
2 2019-01-08 96
3 2019-01-07 97
两天后,您下载了一个数据,该数据为2019-01-11
和2019-01-12
提供了两行,并命名为new_df
(值仅作为示例):
Date Price
0 2019-01-12 67
1 2019-01-11 89
2 2019-01-10 100
3 2019-01-09 95
注意:新df中有一些旧df中存在的值。
使用df.append()
,df.drop_duplicates()
和df.sort_values()
:-
>>df.append(new_df,ignore_index=True).drop_duplicates().sort_values(by='Date',ascending=False)
Date Price
4 2019-01-12 67
5 2019-01-11 89
0 2019-01-10 100
1 2019-01-09 95
2 2019-01-08 96
3 2019-01-07 97
这将附加新值,并根据Date
列以降序的方式对它们进行排序,并以最新日期为开头。
如果您希望索引排序,只需在末尾添加sort_index()
:df.append(new_df,ignore_index=True).drop_duplicates().sort_values(by='Date',ascending=False).sort_index()