我正在尝试创建一个数组(10000,50)大小(我提到大小因为效率很重要),然后:
这是我的代码:
samples = 10 # I'm going to increase it 10000
sampleLength = 4 # I'm going to increase it 50
halfSamples = int(samples/2)
xx = numpy.multiply(10, numpy.random.random((samples, sampleLength)))
xx[0:halfSamples,0:sampleLength]=numpy.sort(xx[0:halfSamples,0:sampleLength],axis=1)
xx[halfSamples:samples,0:sampleLength]=numpy.sort(xx[halfSamples:samples,0:sampleLength],axis=1)
这会按升序对数组的一半进行排序,我唯一找不到的是在最后一行中给出的参数,以降序排列。
我试过基于这个链接:Reverse sort a 2d numpy array in python
xx[halfSamples:samples,0:sampleLength]=numpy.sort(xx[halfSamples:samples,0:sampleLength:-1],axis=1)
但得到了一个错误:
ValueError: could not broadcast input array from shape (5,0) into shape (5,4)
由于