В чистом Python вы можете легко сортировать столбцы столбцов по столбцам:
data = []
for i in something:
newColumn = getColumnDataAsList(i)
data.append(newColumn)
NumPy массив не имеет функции добавления. Функция hstack
не работает на массивах нулевого размера, поэтому следующее не будет работать:
data = numpy.array([])
for i in something:
newColumn = getColumnDataAsNumpyArray(i)
data = numpy.hstack((data, newColumn)) # ValueError: arrays must have same number of dimensions
Итак, мои варианты: либо удалить инициализацию, либо выполнить цикл с соответствующим условием:
data = None
for i in something:
newColumn = getColumnDataAsNumpyArray(i)
if data is None:
data = newColumn
else:
data = numpy.hstack((data, newColumn)) # works
... или использовать список Python и преобразовать позже в массив:
data = []
for i in something:
newColumn = getColumnDataAsNumpyArray(i)
data.append(newColumn)
data = numpy.array(data)
Оба варианта кажутся немного неудобными. Есть ли более приятные решения?