使用Multiindex在Pandas中自定义排序顺序

时间:2018-04-03 18:55:18

标签: python pandas

我有一个带有multiindex的数据集,其中0级是以下:

['-67', '67', '-68', '68']

通过java接口导入数据时,数据按以下顺序加载:

['-67', '-68', '67', '68']

我计划在每个0级索引中附加时间戳,因此以正确的顺序排列它们非常重要。正确的顺序是:

['-##', '##', .....]正在分析多个0级数据集。

这也需要是一个通用的解决方案,因为它涉及许多数据集。

我已经查看了自定义排序的解决方案,但没有提供通用解决方案。

2 个答案:

答案 0 :(得分:0)

您可以将sortedkeylambda

一起使用
sorted(['-67', '-68', '67', '68'],key= lambda x : abs(int(x)))
Out[882]: ['-67', '67', '-68', '68']

答案 1 :(得分:0)

如果您想确保负数出现在正数之前,您可以执行以下操作:

sorted(list_name, key = lambda x : (abs(int(x), int(x) > 0)))