我有一个包含日期列和金额列的数据框。日期列包含小时和日期信息。每天每一小时都有24个条目。我需要创建一个新列,以显示该行的日期和时间之前24小时的金额。
例如,对于“ 2019-11-06 18:00:00”,新列应显示“ 2019-11-05 18:00:00”的金额信息。问题在于我们应该如何处理第一个条目,因为它没有以前的日期。我以为我可以在创建新列时删除第一个条目,但是由于第一个条目没有先前的日期,所以现在我遇到了KeyError。如何解决KeyError?
数据框的外观:screenshot of dataframe
[输入]:
hours24_c = df["Date"]-timedelta(hours=24)
df["hours24"] = df["amount"].loc[hours24_c]
[输出]:
KeyError: "None of [DatetimeIndex(['2015-12-30 00:00:00','2015-12-30 01:00:00',\n '2015-12-30 02:00:00','2015-12-30 03:00:00',\n '2015-12-30 04:00:00','2015-12-30 05:00:00',\n '2015-12-30 06:00:00','2015-12-30 07:00:00',\n '2015-12-30 08:00:00','2015-12-30 09:00:00',\n ...\n '2019-11-05 14:00:00','2019-11-05 15:00:00',\n '2019-11-05 16:00:00','2019-11-05 17:00:00',\n '2019-11-05 18:00:00','2019-11-05 19:00:00',\n '2019-11-05 20:00:00','2019-11-05 21:00:00',\n '2019-11-05 22:00:00','2019-11-05 23:00:00'],\n dtype='datetime64[ns]',length=33744,freq=None)] are in the [index]"