Numpy-矩阵变换

2019-02-13  本文已影响0人  davidic

矩阵变换

shape

vector_shape = vector.shape
matrix_shape = matrix.shape

(3,)

(3, 3)

reshape

生成新矩阵

>>> xdata
array([2, 4, 0, 3, 5, 2, 6, 0, 1, 8])
>>> len(xdata)
10
>>> xdata.reshape(5,-1)
array([[2, 4],
       [0, 3],
       [5, 2],
       [6, 0],
       [1, 8]])
>>> xdata.reshape(5,2)
array([[2, 4],
       [0, 3],
       [5, 2],
       [6, 0],
       [1, 8]])

指定了第一维后,第二维可以不指定,写为-1

flatten

把(a,b,c,d)的X reshape为(b*c*d, a)

X_flatten = X.reshape(-1, X.shape[0])

获得x的转置

print(x.T)
[[1 4 7]
 [2 5 8]
 [3 6 9]]

返回数组内部的信息

print(x.flags)
  C_CONTIGUOUS : True
  F_CONTIGUOUS : False
  OWNDATA : True
  WRITEABLE : True
  ALIGNED : True
  UPDATEIFCOPY : False

将数组变为1维数组,并获取其中的一部分数据

print(x.flat[2:6])
[3 4 5 6]

将值赋给1维数组,再转化成有原有数组的大小形式

x.flat=4;x
print(x)
[[4 4 4]
 [4 4 4]
 [4 4 4]]

轴的个数(秩)

print(x.ndim)

2

数组的维度,翻坠一个整数构成的元组。元组的长度就是秩

print(x.shape)

(3,3)

可以取任意维的shape

# 取到第二维
print(x.shape[:2])

数组元素的总数

print(x.size)
上一篇 下一篇

猜你喜欢

热点阅读