numpy对数组进行拼接

数组的拼接主要函数有:

  • np.hstack((a, b)) (水平拼接)
  • np.vstack((a, b)) (竖直拼接)
  • np.concatenate((a, b),axis=1) (水平拼接)
  • np.concatenate((a, b),axis=0) (竖直拼接)
import numpy as np

a = np.arange(12, dtype='int64').reshape(3,4)
b = np.array(list(range(15,27)), dtype='float32').reshape(3,4)
print('\n a数组为:\n',a)
print('\n b数组为:\n',b)

t1 = np.hstack((a, b))     #水平拼接
print('\n 水平拼接后:\n',t1)

t2 = np.vstack((a,b))      #竖直拼接
print('\n 竖直拼接后:\n',t2)

t3 = np.concatenate((a, b),axis=1) # (行,列) ----和hstack 一样(水平拼接)
print('\n t3数组为:\n',t3)

t4 = np.concatenate((a, b),axis=0) # (行,列) ---和vstack一样(竖直拼接)
print('\n t4数组为:\n',t4)

输出结果:

a数组为:
 [[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]

 b数组为:
 [[15. 16. 17. 18.]
 [19. 20. 21. 22.]
 [23. 24. 25. 26.]]

 水平拼接后:
 [[ 0.  1.  2.  3. 15. 16. 17. 18.]
 [ 4.  5.  6.  7. 19. 20. 21. 22.]
 [ 8.  9. 10. 11. 23. 24. 25. 26.]]

 竖直拼接后:
 [[ 0.  1.  2.  3.]
 [ 4.  5.  6.  7.]
 [ 8.  9. 10. 11.]
 [15. 16. 17. 18.]
 [19. 20. 21. 22.]
 [23. 24. 25. 26.]]

 t3数组为:
 [[ 0.  1.  2.  3. 15. 16. 17. 18.]
 [ 4.  5.  6.  7. 19. 20. 21. 22.]
 [ 8.  9. 10. 11. 23. 24. 25. 26.]]

 t4数组为:
 [[ 0.  1.  2.  3.]
 [ 4.  5.  6.  7.]
 [ 8.  9. 10. 11.]
 [15. 16. 17. 18.]
 [19. 20. 21. 22.]
 [23. 24. 25. 26.]]