Pandas DataFrame.sort_index() 可以提高排序数据的性能吗?

bar*_*baz 2 python dataframe pandas

DataFrame.sort_index()当数据已经按用于索引的列排序时,有什么方法可以提高性能吗?在具有 40 mio 记录的数据集上,sort_index()我需要 3.25 分钟,与数据是否已排序无关。

如果没有预期的高级方法来做到这一点,是否可能有一种低级方法可以将状态更改DataFrame为按索引排序而不实际对其进行排序?

yat*_*atu 6

如果我理解正确,您可以在使用 实际排序之前验证索引是否已排序DataFrame.index.is_monotonic_increasing,这应该更快。所以你可以这样做:

if not df.index.is_monotonic_increasing:
    df = df.sort_index()
Run Code Online (Sandbox Code Playgroud)