numpy学习笔记

numpy

import numpy as np

(1)标量:除了 Python 的 int,你可以使用 uint8、int8、uint16、int16 等类型。

s = np.array(5)

(2)向量:可以将 Python 列表传递给 array 函数

v = np.array([1,2,3])

(3)矩阵:提供列表的列表,其中每个列表代表一行。

m = np.array([[1,2,3], [4,5,6], [7,8,9]])

(4)张量:张量与向量和矩阵一样,但张量可以有更多的维度。

创建一个 3x3x2x1 的张量:

t = np.array([[[[1],[2]],[[3],[4]],[[5],[6]]],[[[7],[8]],\

    [[9],[10]],[[11],[12]]],[[[13],[14]],[[15],[16]],[[17],[17]]]])

t.shape打印矩阵的维度, 会返回 (3, 3, 2, 1)

t[2][1][1][0] 将返回 16

 

更改形状:

v = np.array([1,2,3,4])       v.shape 会返回 (4,)

x = v.reshape(1,4)   OR   x = v[None, :]     x.shape 会返回 (1,4)

x = v.reshape(4,1)   OR   x = v[:, None]

 

NumPy 矩阵乘法:

(1)元素级乘法

m * n

np.multiply(m, n)

(2)矩阵乘积

a.shape (2,4); b.shape(4,3)

c = np.matmul(a, b)

有时候,在用 matmul 函数的地方,可能会看到 NumPy 的 dot 函数。

如果矩阵是二维的,那么 dot 和 matmul 函数的结果是相同的。

 

NumPy 矩阵转置:

NumPy 在进行转置时不会实际移动内存中的任何数据,只是改变对原始矩阵的索引方式,所以是非常高效的。

但是,这也意味着你要特别注意修改对象的方式,因为它们共享相同的数据。

所以记住,将转置视为矩阵的不同视图,而不是完全不同的矩阵。

m_t = m.T

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值