如何检查Pandas数据帧的索引是否已排序

时间:2013-06-26 09:07:28

标签: python pandas

我有一个带有索引的香草熊猫数据框。我需要检查索引是否已排序。最好不要再分类。

e.g。我可以通过index.is_unique()来测试一个索引以查看它是否是唯一的。是否有类似的方法来测试排序?

3 个答案:

答案 0 :(得分:44)

怎么样:

df.index.is_monotonic

答案 1 :(得分:3)

如果允许sort,请尝试

all(df.sort_index().index == df.index)

如果没有,请尝试

all(a <= b for a, b in zip(df.index, df.index[1:]))

第一个更具可读性,而第二个具有更小的时间复杂度。

修改

添加我刚发现的另一种方法。与第二个类似,但比较是有效的

all(df.index[:-1] <= df.index[1:]) 

答案 2 :(得分:0)

对于非指数:

df.equals(df.sort())