对 pandas 日期时间索引进行排序

8 投票
1 回答
12765 浏览
提问于 2025-04-18 02:13

我有一个用 pandas 创建的日期时间索引。在创建的过程中,里面的日期可能没有按照顺序排列。我想把这个索引排序。有没有简单的方法可以做到这一点呢?

到目前为止,我做了以下操作:

import pandas as pd
tseries = pd.to_datetime(['2001-02-04', '2013-08-14', '2008-01-25'])
print 'original unsorted tseries'
for t in tseries:
    print t
tseries.values.sort()
print 'new sorted tseries'
for t in tseries:
    print t

输出结果:

original unsorted tseries
2001-02-04 00:00:00
2013-08-14 00:00:00
2008-01-25 00:00:00
new sorted tseries
2001-02-04 00:00:00
2008-01-25 00:00:00
2013-08-14 00:00:00

那么,正确的做法是什么呢?我现在的做法总是能奏效吗?

1 个回答

14

尝试一下

tseries.order()

如果你在使用数据框(DataFrame),那么相关的操作叫做排序,也就是 .sort() 和 .sort_index() 这两个方法。

撰写回答