一、合并
import numpy as np
a = np.array([1, 1, 1])
b = np.array([2, 2, 2])
c = np.vstack((a, b)) # vertical stack 纵向合并
d = np.hstack((a, b)) # horizontal stack 横向合并
e = np.vstack((a,b,b,a))
#数组a不是矩阵,a.T仍然与数组a相同,需要将数组a增加维度变为矩阵
f = a[np.newaxis,:] #在数组a中增加横向维度,变为矩阵
g = a[:, np.newaxis] #在数组a中增加纵向维度,变为矩阵
h = np.concatenate((a, b), axis = 0) #axis=0为纵向, axis=1为横向
print(a)
print(b)
print(c)
print(d)
print(e)
print(f)
print(g)
print(h)
======================= RESTART: C:/Users/hyx/test.py =======================
[1 1 1]
[2 2 2]
[[1 1 1]
[2 2 2]]
[1 1 1 2 2 2]
[[1 1 1]
[2 2 2]
[2 2 2]
[1 1 1]]
[[1 1 1]]
[[1]
[1]
[1]]
[1 1 1 2 2 2]
>>>
二、分割
import numpy as np
a = np.arange(12).reshape((3, 4))
print(a)
print('-------------等量分割---------------')
print(np.split(a, 2, axis = 1)) #axis = 0 对列操作
print(np.split(a, 3, axis = 0)) #axis = 1 对行操作
print('-------------不等量分割---------------')
print(np.array_split(a, 3, axis = 1)) #将4列分为2-1-1 3个矩阵
print('-------------简易分割---------------')
print(np.vsplit(a, 3))
print(np.hsplit(a, 2))
========== RESTART: C:/Users/wyt/Desktop/学习/numpy & pandas/split.py ==========
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
-------------等量分割---------------
[array([[0, 1],
[4, 5],
[8, 9]]), array([[ 2, 3],
[ 6, 7],
[10, 11]])]
[array([[0, 1, 2, 3]]), array([[4, 5, 6, 7]]), array([[ 8, 9, 10, 11]])]
-------------不等量分割---------------
[array([[0, 1],
[4, 5],
[8, 9]]), array([[ 2],
[ 6],
[10]]), array([[ 3],
[ 7],
[11]])]
-------------简易分割---------------
[array([[0, 1, 2, 3]]), array([[4, 5, 6, 7]]), array([[ 8, 9, 10, 11]])]
[array([[0, 1],
[4, 5],
[8, 9]]), array([[ 2, 3],
[ 6, 7],
[10, 11]])]
>>>