在数据帧中以升序记录值

时间:2017-01-12 15:20:58

标签: python sorting dataframe

是以下表格的表格

numbers  
0   2,4,9,1,3  
1   10,5,8,2  
2   4,8  
3   5,2,9,6
4   3,8,5,1 

如何以升序记录值? 需要获得以下表格的表格

 numbers  
0   1,2,3,4,9  
1   2,5,8,10
2   4,8  
3   2,5,6,9
4   1,3,5,8 

1 个答案:

答案 0 :(得分:1)

您可以拆分字符串,对整数进行排序,然后将它们作为字符串连接起来:

df.numbers.apply(lambda x: ','.join(map(str, sorted(map(int, x.split(","))))))

#0    1,2,3,4,9
#1     2,5,8,10
#2          4,8
#3      2,5,6,9
#4      1,3,5,8
#Name: numbers, dtype: object

如果要将列更改为新的排序版本,可以将其分配回列numbers

df['numbers'] = df.numbers.apply(lambda x: ','.join(map(str, sorted(map(int, x.split(","))))))