X=np.arange(15).reshape(3,5)
----------------------------------
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]])
X[1,1] #不推荐使用X[1][1]这种用法,可以用X[(1,1)]
-----------------------------------
6
X[::-1,::-1]
-----------------------------------
array([[14, 13, 12, 11, 10],
[ 9, 8, 7, 6, 5],
[ 4, 3, 2, 1, 0]])
X[0] #=======>X[0,:]
------------------------------------
array([0, 1, 2, 3, 4])
X[:,0]
------------------------------------
array([ 0, 5, 10])
子矩阵修改会影响原矩阵,可以使用subX1=X[:2,:3].copy(),再修改就无碍了
A=np.array([[1,2,3],[4,5,6]])
np.concatenate([A,A])
------------------------------------
array([[1, 2, 3],
[4, 5, 6],
[1, 2, 3],
[4, 5, 6]])
=====================================
np.concatenate([A,A],axis=1)
-------------------------------------
array([[1, 2, 3, 1, 2, 3],
[4, 5, 6, 4, 5, 6]])
=====================================
z=np.array([66,66,66])
np.concatenate([A,z]) #如果这样合并的话出错!!
-------------------------------------
ValueError: all the input arrays must have same number of dimensions
=====================================
np.concatenate([A,z.reshape(1,-1)])
-------------------------------------
array([[ 1, 2, 3],
[ 4, 5, 6],
[66, 66, 66]])
======================================
#或者使用
np.vstack([A,z])
-------------------------------------
array([[ 1, 2, 3],
[ 4, 5, 6],
[66, 66, 66]])
======================================
B=np.full((2,2),100)
np.hstack([A,B])
--------------------------------------
array([[ 1, 2, 3, 100, 100],
[ 4, 5, 6, 100, 100]])
======================================
data=np.arange(16).reshape(4,4)
--------------------------------------
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11],
[12, 13, 14, 15]])
======================================
X,y=np.hsplit(data,[-1])
X
--------------------------------------
array([[ 0, 1, 2],
[ 4, 5, 6],
[ 8, 9, 10],
[12, 13, 14]])