首页 > 解决方案 > 在python中使用numpy对100x100数组进行排序

问题描述

我有一个数组,大小为 100x100,随机数从 1 到 20。我必须逐行对表格进行排序。我试过使用这个命令:

def shedule(self):
    a=self.arr
    a.sort()
    print(self.arr)

但结果显示此序列中的数字(第一行):

    ['1' '1' '1' '1' '1' '1' '1' '1' '1' '1' '10' '10' '10' '10' '10' '10'
  '11' '11' '11' '11' '11' '12' '12' '13' '13' '13' '13' '14' '14' '14'
  '14' '15' '16' '16' '16' '16' '16' '17' '17' '17' '17' '17' '18' '18'
  '18' '19' '19' '19' '19' '2' '2' '2' '2' '2' '2' '20' '20' '20' '20'
  '3' '3' '3' '3' '3' '4' '4' '4' '4' '4' '4' '4' '4' '4' '4' '5' '5' '5'
  '5' '6' '6' '6' '6' '6' '6' '6' '6' '7' '7' '7' '7' '8' '8' '9' '9' '9'
  '9' '9' '9' '9' '9']]

标签: pythonarrayspython-3.xnumpysorting

解决方案


这是因为你的元素是字符串而不是整数,你需要将你的元素转换为整数self.arr = self.arr.astype('int32')然后你可以做self.arr.sort(axis=1)

def shedule(self):
     self.arr = self.arr.astype('int32')
     self.arr.sort(axis=1)
     print(self.arr)

推荐阅读