(1)数组对接
❶vstack()函数实现数组的垂直对接,这里的v是英文vertical的首字母。
import numpy as np
c1 = np.array([[100,99,100],[98,99,97]])
c2 = np.array([[88,88,87],[85,82,89]])
np.vstack((c1,c2)) #垂直对接c1,c2两个数组
array([[100, 99, 100],
[ 98, 99, 97],
[ 88, 88, 87],
[ 85, 82, 89]])
❷hstack()函数实现数组的水平对接,这里的h是英文horizontal的首字母。
r1 = np.array(['1','Tom','China'])
r2 = np.array(['man','10','13600'])
np.hstack((r1,r2)) #水平对接r1,r2
array([‘1’, ‘Tom’, ‘China’, ‘man’, ‘10’, ‘13600’], dtype=’<U5’)
(2)数组分割
❶hsplit(ar,N)函数,水平分割,ar为需要分割的数组,N为分割数
r5 = np.array([['1','Tom','China','boy','10','136000'],
['2','Alice','US','gril','9','139111']])
r6 = np.hsplit(r5,2) #沿r5数组第一维度等分,垂直分割为2个数组
r6
[array([[‘1’, ‘Tom’, ‘China’],
[‘2’, ‘Alice’, ‘US’]], dtype=’<U6’),
array([[‘boy’, ‘10’, ‘136000’],
[‘gril’, ‘9’, ‘139111’]], dtype=’<U6’)]
❷vsplit(ar,N)函数,垂直分割,ar为需要分割的数组,N为分割数
r7 = np.vsplit(r5,2)
r7
[array([[‘1’, ‘Tom’, ‘China’, ‘boy’, ‘10’, ‘136000’]], dtype=’<U6’),
array([[‘2’, ‘Alice’, ‘US’, ‘gril’, ‘9’, ‘139111’]], dtype=’<U6’)]
Numpy数组的基本索引使用方法,同Python列表对象的使用方法,也采用方括号[]来索引数组值。
1、一维数组单一元素的读、写
n1 = np.arange(10)
n1[9] #读取下标为9的元素,结果为9
9
n1[-1] #从右往左读取第一个下标的元素,结果为9
9
n1[0] = 10
n1
array([10, 1, 2, 3, 4, 5, 6, 7, 8, 9])
2、二维数组单一元素的读、写
n2 = n1.reshape(2,5) #将一维数组改为二维数组
n2
array([[10, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9]])
n2[1,0] #读取第二行,第一列的元素
5
n2[1,1] = -1
n2[1,1]
-1