pandas datetimeIndex乱序问题

clipboard.png

这是我的时间序列索引,下面是plot出来的图。横轴居然是傻傻的倒序,30号放在最前面了。
请问有什么方法可以按自然的时间来,我能想到的就是原始数据sort一下再pd.to_datetime,但是这个方法不帅啊。
一定有什么对于时间索引的办法吧?

clipboard.png

阅读 5.3k
1 个回答

help看了下
sort_values(self, return_indexer=False, ascending=True)
应该是可以调整排列的顺序的,修改ascending参数 True升序排列,False降低序排列。

import pandas as pd
import numpy as np

dates = pd.date_range('1/1/2012', periods=5, freq='M')
help(dates)

dates.sort_values(ascending=False)

DatetimeIndex(['2012-05-31', '2012-04-30', '2012-03-31', '2012-02-29',
               '2012-01-31'],
              dtype='datetime64[ns]', freq='-1M')
              
dates.sort_values(ascending=True)

DatetimeIndex(['2012-01-31', '2012-02-29', '2012-03-31', '2012-04-30',
               '2012-05-31'],
              dtype='datetime64[ns]', freq='M')
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题