Pandas:在Dataram中排序行

2024-06-09 13:06:25 发布

您现在位置:Python中文网/ 问答频道 /正文

寻找对我的sales列进行排序的正确方法,以便所表示的范围从最小到最大。你知道吗

我一直在使用pandas.df.sort_values(by='sales'),但是输出不是连续的。你知道吗

提前感谢您的帮助!你知道吗

电流DF:DF1

     sales           team    
0    950 to 1000     J
1    10 to 20        K
2    4000 to 5000    L
3    60 to 100       M
4    0 to 9          N

所需DF:DF2

     sales           team    
0    0 to 9          N
1    10 to 20        K   
2    60 to 100       M      
3    950 to 1000     J
4    4000 to 5000    L

Tags: to方法pandasdfby排序sortteam
1条回答
网友
1楼 · 发布于 2024-06-09 13:06:25

您可以尝试以下操作(从sales列中提取第一个数字并按其排序):

df.loc[df.sales.str.split(" ").str[0].astype(int).argsort()]

#   sales        team
#4  0 to 9          N
#1  10 to 20        K
#3  60 to 100       M
#0  950 to 1000     J
#2  4000 to 5000    L

或另一个带有str.extract()的选项:

df.loc[df.sales.str.extract("^(\d+)").astype(int).argsort()]

相关问题 更多 >