Эффективный способ добавить одноэлементное измерение в вектор NumPy, чтобы назначения срезов работали

Как в NumPy можно эффективно преобразовать одномерный объект в двухмерный объект, где одноэлементное измерение выводится из текущего объекта (т. е. список должен идти либо к вектору 1xlength, либо к вектору lengthx1)?

 # This comes from some other, unchangeable code that reads data files.
 my_list = [1,2,3,4]

 # What I want to do:
 my_numpy_array[some_index,:] = numpy.asarray(my_list)

 # The above doesn't work because of a broadcast error, so:
 my_numpy_array[some_index,:] = numpy.reshape(numpy.asarray(my_list),(1,len(my_list)))

 # How to do the above without the call to reshape?
 # Is there a way to directly convert a list, or vector, that doesn't have a
 # second dimension, into a 1 by length "array" (but really it's still a vector)?
19
задан ely 1 March 2012 в 03:32
поделиться