猿问

有没有办法按数字字符串列对熊猫数据框进行排序?

假设我的数据框 df 如下


value_id = ['1_1', '1_2', '1_5', '10_1', '2_2', '3_2']

value_age = [28, 34, 54, 24, 12, 56]

df = pd.DataFrame({'id':value_id, 'age':value_age})

我想根据第一列(即 id)对这个数据框进行排序。我想要这样的输出


id     age

1_1    28

1_2    34

1_5    54

2_2    12

3_2    56

10_1   24


饮歌长啸
浏览 74回答 1
1回答

慕森王

您可以设置id为索引并使用,并与自定义参数一起df.reindex使用。sortedkeydef f(x):    v, v1 = map(int, x.split('_'))    return v, v1df.set_index('id').reindex(sorted(df.id,key=f))      ageid1_1    281_2    341_5    542_2    123_2    5610_1   24
随时随地看视频慕课网APP

相关分类

Python
我要回答