У меня есть два массива записей Numpy, которые имеют точно такие же поля. Каков самый простой способ объединить их в один (например, добавить одну таблицу к другой)?Сочетание двух массивов записей
2
A
ответ
6
Использование numpy.hstack()
:
>>> import numpy
>>> desc = {'names': ('gender','age','weight'), 'formats': ('S1', 'f4', 'f4')}
>>> a = numpy.array([('M',64.0,75.0),('F',25.0,60.0)], dtype=desc)
>>> numpy.hstack((a,a))
array([('M', 64.0, 75.0), ('F', 25.0, 60.0), ('M', 64.0, 75.0),
('F', 25.0, 60.0)],
dtype=[('gender', '|S1'), ('age', '<f4'), ('weight', '<f4')])
0
for i in array1:
array2.append(i)
Или (если реализовано)
array1.extend(array2)
Теперь array1 содержит также все элементы массив2
0
#!/usr/bin/env python
import numpy as np
desc = {'names': ('gender','age','weight'), 'formats': ('S1', 'f4', 'f4')}
a = np.array([('M',64.0,75.0),('F',25.0,60.0)], dtype=desc)
b = np.array([('M',64.0,75.0),('F',25.0,60.0)], dtype=desc)
alen=a.shape[0]
blen=b.shape[0]
a.resize(alen+blen)
a[alen:]=b[:]
Это работает с структурированных массивов, хотя и не recarrays. Возможно, это хорошая причина придерживаться структурированных массивов.
Смежные вопросы
- 1. Сочетание двух массивов
- 2. Java: каждое сочетание двух массивов
- 3. Сочетание двух массивов и сортировка массивов Swift
- 4. sqlite3 - делает сочетание двух записей уникальных
- 5. Сочетание массивов
- 6. Сочетание/Сортировка двух таблиц/массивов таблицы/массивов/списков
- 7. Сочетание массивов в Matlab
- 8. Сочетание двух функций $ .each
- 9. Динамическое сочетание JavaScript-массивов
- 10. Сочетание многомерных массивов numpy
- 11. Сравнение двух массивов и список общих записей
- 12. Слияние двух активных массивов записей очень медленно?
- 13. Удаление соответствующих записей из двух массивов Numpy
- 14. Объединения двух массивов в массив записей
- 15. Сочетание записей таблицы
- 16. Сочетание двух массивов PHP с некоторым условным добавлением, добавленным в
- 17. Сочетание двух элементов массивов или распределение элементов массива в другое?
- 18. R язык сочетание кросс-произведение двух строковых массивов
- 19. Сочетание двух разных наблюдаемых массивов в одном в нокауте js
- 20. Сочетание двух массивов в одном в торте php
- 21. Сочетание двух массивов в php array_combine не работает?
- 22. Сочетание двух временных таблиц с переменным числом записей
- 23. Сочетание двух блоков памяти DC?
- 24. Сочетание двух кодов javascript
- 25. Сочетание двух полупрозрачных эллипсов
- 26. Сочетание двух гипотез Coq
- 27. Сочетание двух относительных Uris
- 28. Сочетание двух приложений iOS
- 29. сочетание двух DF, панды
- 30. Сочетание двух операторов SQL
Есть ли причина, почему это не работает с recarrays? Я думал, что recarrays были только структурированными массивами с дополнительными аргументами __getattribute __/__ setattr__? – astrofrog
Не знаю почему. Я знаю только, что, когда я пытаюсь сделать то же самое с рекурсиями, я получаю ValueError: не могу изменить размер этого массива: он не имеет собственных данных. В прошлом, сталкиваясь с такими проблемами, как рекуррентные, я предпочитаю использовать структурированные массивы вместо повторных вычислений. Синтаксический сахар не стоит проблем. – unutbu