gpt4 book ai didi

python - 对包含 str 和元组的 Pandas MultiIndex 进行排序

转载 作者:行者123 更新时间:2023-12-05 07:02:19 37 4
gpt4 key购买 nike

所以我有一个带有多级多索引的数据框,其中较小的索引是父索引,添加一个索引级别会创建看起来像这样的子元素

(a,foo,1)
(a,foo,2)
(a,foo)
a
(b, foo,1)
(b, bar,1)
(b, foo)
(b, bar)
b

我想对索引进行排序,但是在使用 sort_index 函数时,我收到以下错误, TypeError: '<' not supported between instances of 'str' and 'tuple'

由于任何大于 1 级别的索引都存储为元组,而单个索引存储为字符串,因此我无法对索引进行排序。

让我的索引成为单一数据类型以便我对其进行排序的最佳方法是什么?

a
(a,foo)
(a,foo,1)
(a,foo,2)
b
(b, bar)
(b, bar,1)
(b, foo)
(b, foo,1)





最佳答案

让我们尝试在行中展开,然后使用na_positionsort_values

l = df.index
s = pd.DataFrame(l).sort_values([0,1,2],na_position='first').index
df = df.iloc[s]

关于python - 对包含 str 和元组的 Pandas MultiIndex 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63570491/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com