深度学习入门(1)–numpy
NumPy支持各种数学运算
常用函数:
1. 基础运算
- 加法:
np.add
- 减法:
np.subtract
- 乘法:
np.multiply
- 除法:
np.divide
- 取模:
np.mod
- 幂运算:
np.power
2. 三角函数
- 正弦:
np.sin
- 余弦:
np.cos
- 正切:
np.tan
- 反正弦:
np.arcsin
- 反余弦:
np.arccos
- 反正切:
np.arctan
3. 双曲函数
- 双曲正弦:
np.sinh
- 双曲余弦:
np.cosh
- 双曲正切:
np.tanh
- 反双曲正弦:
np.arcsinh
- 反双曲余弦:
np.arccosh
- 反双曲正切:
np.arctanh
4. 指数和对数函数
- 指数:
np.exp
- 自然对数:
np.log
- 常用对数(底数为10):
np.log10
- 对数(底数为2):
np.log2
5. 取整函数
- 向下取整:
np.floor
- 向上取整:
np.ceil
- 四舍五入:
np.round
- 截断:
np.trunc
6. 线性代数运算
- 矩阵乘法:
np.dot
,np.matmul
- 矩阵行列式:
np.linalg.det
- 矩阵逆:
np.linalg.inv
- 特征值和特征向量:
np.linalg.eig
- 奇异值分解:
np.linalg.svd
- 解线性方程组:
np.linalg.solve
7. 统计函数
- 最小值:
np.min
- 最大值:
np.max
- 均值:
np.mean
- 中位数:
np.median
- 标准差:
np.std
- 方差:
np.var
- 求和:
np.sum
- 积:
np.prod
8. 排序和搜索
- 排序:
np.sort
- 元素索引:
np.argsort
- 唯一值:
np.unique
- 搜索:
np.searchsorted
9. 集合操作
- 并集:
np.union1d
- 交集:
np.intersect1d
- 差集:
np.setdiff1d
- 对称差:
np.setxor1d
10. 逻辑运算
- 与:
np.logical_and
- 或:
np.logical_or
- 非:
np.logical_not
- 异或:
np.logical_xor
11. 比较运算
- 相等:
np.equal
- 不等:
np.not_equal
- 大于:
np.greater
- 小于:
np.less
- 大于等于:
np.greater_equal
- 小于等于:
np.less_equal
12. 数组操作
- 数组拼接:
np.concatenate
,np.stack
,np.hstack
,np.vstack
- 数组拆分:
np.split
,np.hsplit
,np.vsplit
- 转置:
np.transpose
- 数组形状改变:
np.reshape
np.arange()
函数
np.arange
是 NumPy 中用于生成数组的一个函数,其功能类似于 Python 内置的 range
函数,但返回的是一个数组。这个函数非常适用于生成等间隔的数值序列。
函数定义
1 | numpy.arange([start, ]stop, [step, ]dtype=None) |
参数说明
- start(可选):起始值,包含在生成的数组中。默认值为 0。
- stop:终止值,不包含在生成的数组中。
- step(可选):步长,默认值为 1。
- dtype(可选):生成数组的类型。如果未指定,则根据其他参数的类型推断。
返回值
返回一个包含等间隔数值的数组。
示例
基本用法:
1
2
3
4
5import numpy as np
# 从0到5,步长为1
arr = np.arange(5)
print(arr) # 输出: [0 1 2 3 4]指定起始值和终止值:
1
2
3# 从1到10,步长为1
arr = np.arange(1, 10)
print(arr) # 输出: [1 2 3 4 5 6 7 8 9]指定步长:
1
2
3# 从1到10,步长为2
arr = np.arange(1, 10, 2)
print(arr) # 输出: [1 3 5 7 9]指定数据类型:
1
2
3# 从1到10,步长为2,数据类型为浮点型
arr = np.arange(1, 10, 2, dtype=float)
print(arr) # 输出: [1. 3. 5. 7. 9.]负步长:
1
2
3# 从10到1,步长为-1
arr = np.arange(10, 1, -1)
print(arr) # 输出: [10 9 8 7 6 5 4 3 2]生成小数序列:
1
2
3# 从0到1,步长为0.1
arr = np.arange(0, 1, 0.1)
print(arr) # 输出: [0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
使用场景
- 创建索引数组:生成特定范围的索引用于数组操作。
- 数值分析:生成等间隔的数值序列用于绘图或数值计算。
- 初始化数组:快速生成一维数组用于测试或初始化。
注意事项
- 当使用浮点数作为步长时,由于浮点数精度问题,生成的数组可能不包含终止值。例如:在这种情况下,生成的数组可能会略微偏离预期的终止值。
1
2arr = np.arange(0, 1, 0.3)
print(arr) # 输出: [0. 0.3 0.6 0.9]
- 本文作者: Phquathi
- 本文链接: http://phquathi.github.io/pHq-blog/2024/06/18/深度学习入门(1)/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!