我有一个这样的数据库
df_crossplot
the index is 1A22, 10A22,11A22,2A22,21A22
value
1A22 10
10A22 12
11A22 11
2A22 15
12A22 21
3A22 25
我想做的是根据A前面的数字对索引进行排序,如下所示
value
1A22 10
2A22 15
3A22 25
10A22 12
11A22 11
12A22 21
我做的是这个错误
df_crossplot=df_crossplot.sort_index(key=lambda x: float(x.str.split('A')[0]))
TypeError: float() argument must be a string or a number, not 'list'
看起来lambda函数中x是一个列表而不是一个序列的每个单独的分量,
怎么做?谢谢
3条答案
按热度按时间unhi4e5o1#
在调中使用panda函数
kadbb4592#
为什么不创建一个新列并按它排序呢?:
vfh0ocws3#
如果您想对索引进行排序,
natsort
可以轻松完成工作