我有兩個Numpy記錄數組,它們具有完全相同的字段。將它們合併成一個的最簡單方法是什麼(即將一個表格添加到另一個表格)?組合兩個記錄陣列
Q
組合兩個記錄陣列
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)
現在陣列1還包含數組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. 組合兩個數組1個陣列
- 2. 兩列組記錄
- 3. 合併記錄從兩個不同的陣列在PHP
- 4. 合併兩個記錄數組
- 5. 如何組合兩個陣列
- 6. 從兩個陣列組合值在JavaScript
- 7. PHP融合兩個陣列
- 8. 混合兩個陣列
- 9. 聯合兩個陣列
- 10. 結合兩個陣列
- 11. 環路一個陣列,並創建由新的數組組合兩個陣列
- 12. 通過組合兩條記錄通過
- 13. 陣列組合的陣列
- 14. 接合/合併兩個陣列
- 15. 組合多個陣列
- 16. 組合多個JSON陣列
- 17. 帶或不帶子陣列記錄的聚合記錄
- 18. 兩個數組組合成第三陣列
- 19. 再沒有重複的記錄創建兩個給定陣列新數組
- 20. 打印一個,兩個的組合的值,和三維陣列
- 21. 組合兩個multidimensioal陣列,並設置一個作爲鍵
- 22. 合併兩個陣列,用第二個陣列覆蓋第一個陣列
- 23. 兩個列表組合
- 24. 同時比較兩個陣列並僅記錄偶數
- 25. 組合兩個numpy的矩陣
- 26. 合併兩個陣列並按日期排列此新陣列
- 27. Powershell - 組合陣列
- 28. Matlab組合陣列
- 29. Clojure中,合併兩個陣列地圖
- 30. 合併兩個陣列索引在PHP
是否有一個原因,這不符合recarrays工作?我認爲recarrays只是一個額外的__getattribute __/__ setattr__參數的結構化數組? – astrofrog 2009-11-10 15:55:43
我不知道爲什麼。我只知道當我用recarrays嘗試同樣的事情時,我得到一個ValueError:無法調整此數組的大小:它不擁有自己的數據。在過去遇到這樣的問題時,我傾向於使用結構化數組而不是重新編程。語法糖不值得麻煩。 – unutbu 2009-11-10 17:03:33