预备知识

一、Python基础

1. 列表推导式与条件赋值

[* for i in *] 。其中,第一个 * 为映射函数,其输入为后面 i 指代的内容,第二个 * 表示迭代的对象。
value = a if condition else b

2.匿名函数与map方法

对于列表推导式的匿名函数映射, Python 中提供了 map 函数来完成,它返回的是一个 map 对象,需要通过 list 转为列表

3.zip对象与enumerate方法

zip函数能够把多个可迭代对象打包成一个元组构成的可迭代对象,它返回了一个 zip 对象,通过 tuple, list 可以得到相应的打包结果
enumerate 是一种特殊的打包,它可以在迭代时绑定迭代元素的遍历序号

二、Numpy基础

1.np数组的构造

一般:通过array来构造
特殊数组的生成方式:
【a】等差序列: np.linspace, np.arange
【b】特殊矩阵: zeros, eye, full
【c】随机矩阵: np.random

2.np数组的变形与合并

【a】转置: T
【b】合并操作: r_, c_
【c】维度变换: reshape

3.np数组的切片与索引

数组的切片模式支持使用 slice 类型的 start :end :step 切片,还可以直接传入列表指定某个维度的索引进行切片。
此外,还可以利用 np.ix_ 在对应的维度上使用布尔索引,但此时不能使用 slice 切片。
当数组维度为1维时,可以直接进行布尔索引,而无需 np.ix_ 。

4.常用函数

【a】 where
【b】 nonzero, argmax, argmin
【c】 any, all
【d】 cumprod, cumsum, diff
【e】 统计函数

5.广播机制

广播(Broadcast)是 numpy 对不同维度(shape)的数组进行数值计算的方式, 对数组的算术运算通常在相应的元素上进行。
如果两个数组 a 和 b 维数相同,即满足 a.shape == b.shape,那么 a*b 的结果就是 a 与 b 数组对应位相乘。这要求维数相同,且各维度的长度相同。当运算中的 2 个数组的形状不同时,numpy 将自动触发广播机制。
注:广播规则:
1.让所有输入数组都向其中shape最长的数组看齐,shape中不足的部分都通过在前面加 1 补齐。
2.输出数组的shape是输入数组形状的各个维度上的最大值。
3.如果输入数组的某个维度和输出数组的对应维度的长度相同或者其长度为 1 时,这个数组能够用来计算,否则出错。
4.当输入数组的某个维度的长度为 1 时,沿着此维度运算时都用此维度上的第一组值。

6.向量与矩阵的计算

【a】向量内积: dot
【b】向量范数和矩阵范数: np.linalg.norm
在矩阵范数的计算中,最重要的是 ord 参数
【c】矩阵乘法: @

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值