Pandas重采样打乱了日期顺序



我正在尝试将一些刻度数据重新采样为1分钟的块。代码看起来工作得很好,但当我查看生成的数据帧时,它错误地更改了日期的顺序。以下是重采样前的情况:

Var2    Var3    Var4    Var5    Var6    Var7    Var8    Var9    Var10
2020-06-30 17:00:00 41.68   2   tptBid  tctRegular  NaN 255 NaN 0   msNormal
2020-06-30 17:00:00 41.71   3   tptAsk  tctRegular  NaN 255 NaN 0   msNormal
2020-06-30 17:00:00 41.68   1   tptTradetctRegular  NaN 255 NaN 0   msNormal
2020-06-30 17:00:00 41.71   5   tptAsk  tctRegular  NaN 255 NaN 0   msNormal
2020-06-30 17:00:00 41.71   8   tptAsk  tctRegular  NaN 255 NaN 0   msNormal
... ... ... ... ... ... ... ... ... ...
2020-01-07 17:00:21 41.94   5   tptBid  tctRegular  NaN 255 NaN 0   msNormal
2020-01-07 17:00:27 41.94   4   tptBid  tctRegular  NaN 255 NaN 0   msNormal
2020-01-07 17:00:40 41.94   3   tptBid  tctRegular  NaN 255 NaN 0   msNormal
2020-01-07 17:00:46 41.94   4   tptBid  tctRegular  NaN 255 NaN 0   msNormal
2020-01-07 17:00:50 41.94   3   tptBid  tctRegular  NaN 255 NaN 0   msNormal

正如你所看到的,日期从6月30日下午5点开始。然后我使用这个代码:

one_minute_dataframe['Price'] = df.Var2.resample('1min').last()
one_minute_dataframe['Volume'] = df.Var3.resample('1min').sum()
one_minute_dataframe.index = pd.to_datetime(one_minute_dataframe.index)
one_minute_dataframe.sort_index(inplace = True)

我得到以下信息:

Price   Volume
2020-01-07 00:00:00 41.73   416
2020-01-07 00:01:00 41.74   198
2020-01-07 00:02:00 41.76   40
2020-01-07 00:03:00 41.74   166
2020-01-07 00:04:00 41.77   143
... ... ...
2020-06-30 23:55:00 41.75   127
2020-06-30 23:56:00 41.74   234
2020-06-30 23:57:00 41.76   344
2020-06-30 23:58:00 41.72   354
2020-06-30 23:59:00 41.74   451



它似乎想从7月1日午夜开始。但我试过对索引进行排序,它仍然没有改变。

此外,日期时间索引似乎在数据帧中最初的日期之外添加了更多的日期,并将它们放在重新采样的日期中间。

任何帮助都会很棒。如果我把设置得很糟糕,我深表歉意

我看到发生了什么。在数据下载的某个地方,月份和日期已经切换。这就是为什么它把七月放在首位,因为它认为现在是一月。

最新更新