python numpy split array в неравные подмассивы

Я пытаюсь разбить массив на n частей. Иногда эти части имеют одинаковый размер, иногда они имеют разный размер.

Я пытаюсь использовать:

split = np.split(list, size) 

Это отлично работает, когда размер делится поровну в список, но в противном случае он не работает. Есть ли способ сделать это, чтобы «заполнить» последний массив дополнительными «немногими» элементами?

2 Solutions collect form web for “python numpy split array в неравные подмассивы”

 def split_padded(a,n): padding = (-len(a))%n return np.split(np.concatenate((a,np.zeros(padding))),n) 

Вы ищете np.array_split? Вот докшлина:

 Split an array into multiple sub-arrays. Please refer to the ``split`` documentation. The only difference between these functions is that ``array_split`` allows `indices_or_sections` to be an integer that does *not* equally divide the axis. See Also -------- split : Split array into multiple sub-arrays of equal size. Examples -------- >>> x = np.arange(8.0) >>> np.array_split(x, 3) [array([ 0., 1., 2.]), array([ 3., 4., 5.]), array([ 6., 7.])] 

http://docs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.array_split.html

  • re.split return Нет в функции, но нормально работает нормально
  • Разделение кадра данных на несколько фреймов данных
  • Найдите подстроку после nth '|'
  • Python - регулярное выражение - разбиение строки перед словом
  • pandas разделяет строку на столбцы
  • извлечь значения / переименовать имя файла в python
  • Чтение файла .txt по строкам в Python
  • что означает разделение python (r ', "')?
  • Python - лучший язык программирования в мире.