将最新数据添加到熊猫数据框

时间:2019-01-12 18:11:37

标签: pandas dataframe time-series

我正在尝试建立并保持最新的数据帧/时间序列,在该数据帧/时间序列中,我从网站表中抓取数据,并希望获取最新数据,并将其添加到已经获得的数据中。数据框的示例如下:

   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编译数据框架并总体上构建数据框架感到非常满意,但这超出了我的才能。

我知道完成的任务通常是向您展示我到目前为止已经尝试过的事情,但是老实说,我实际上不知道从哪里开始。

非常感谢

1 个答案:

答案 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-112019-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()