Python 尝试对周数为w1、w2等的索引进行排序,它';它不工作了?

Python 尝试对周数为w1、w2等的索引进行排序,它';它不工作了?,python,pandas,Python,Pandas,数据帧看起来像这样- User1 User2 User3 User4 w1 0 0 0 0 w10 0 0 0 0 w11

数据帧看起来像这样-

                 User1              User2              User3           User4
w1                  0                 0                 0                 0   
w10                 0                 0                 0                 0   
w11                 0                 0                 0                 0   
w12                 0                 0                 0                 0   
w13                 0                 0                 1                 1   
w14                 0                 0                 0                 0   
w15                 0                 1                 0                 0   
w16                 0                 0                 0                 0   
w17                 0                 0                 0                 0   
w18                 0                 0                 0                 0   
w19                 0                 0                 0                 0   
w2                  0                 0                 0                 0   
w20                 0                 0                 0                 0   
w21                 0                 0                 0                 0   
w22                 0                 0                 0                 0   
w23                 0                 0                 0                 0   
w24                 0                 0                 0                 0   
w25                 0                 0                 0                 0   
w26                 0                 0                 0                 0   
w27                 0                 0                 0                 0   
w28                 0                 0                 0                 0   
w29                 0                 0                 0                 0   
w3                  0                 0                 0                 0   
w30                 0                 0                 0                 0   
w31                 0                 0                 0                 0   
w32                 0                 0                 0                 0   
w33                 0                 0                 0                 0   
w34                 0                 0                 0                 0   
w35                 0                 0                 0                 0   
w36                 0                 0                 0                 0   
w37                 0                 0                 0                 0   
w38                 0                 0                 0                 0   
w39                 0                 0                 0                 0   
w4                  0                 0                 0                 0   
w40                 1                 0                 0                 0   
w41                 0                 0                 0                 0   
w42                 0                 0                 0                 0   
w43                 0                 0                 0                 0   
w44                 0                 0                 0                 0   
w45                 0                 0                 0                 0   
w46                 0                 0                 0                 0   
w47                 0                 0                 0                 0   
w48                 0                 0                 0                 0   
w49                 0                 0                 0                 0   
w5                  0                 0                 0                 0   
w50                 0                 0                 0                 0   
w51                 0                 0                 0                 0   
w52                 0                 0                 0                 0   
w53                 0                 0                 0                 0   
w54                 0                 0                 0                 0   
w55                 0                 0                 0                 0   
w56                 0                 0                 0                 0   
w6                  0                 0                 0                 0   
w7                  0                 0                 0                 0   
w8                  0                 0                 0                 0  
现在,我尝试按索引对df进行排序,并使用sort index命令-

df.sort_index(inplace=True,axis=0)
它不起作用了吗?知道为什么会这样吗?我甚至尝试添加Ascending=True作为参数,但仍然不起作用

所需的输出将是按周排序的整个数据帧-

w1

w2

w3 

依此类推。

让我们试试
natsort
:请注意,您应该先安装此工具箱

from natsort import index_natsorted
df=df.iloc[index_natsorted(df.index)]
使用pandas 1.1.0+进行更新现在具有关键参数:
IIUC,你想对这个字符串类型的数据帧索引进行数字排序吗

尝试:


尝试
df.sort\u index(axis=0,inplace=True)
您想要的输出是什么?@bigbounty尝试过,但不起作用。为了更好地说明问题,我做了一些编辑,请检查它们
df.sort_index(key=lambda x: x.str.extract('(\d+)').squeeze().astype(int))
idx = df.index.str.extract('(\d+)').squeeze().astype(int).sort_values().index
df.iloc[idx]