Python中用于数学计算的numpy函数
numpy(Numerical Python)是Python中用于科学计算和数值运算最多人使用的库之一,它主要提供了一个数组对象 ndarray。
numpy中的数组可以处理标量、向量、矩阵和更高维度的数据,因此在进行数学运算时非常方便,而numpy中又提供了一系列的数学函数,这些函数可以完成从简单的基本运算到复杂的高级工具操作。本文就来介绍一些numpy中常用的数学计算函数。
1. 数组创建:
1.1 numpy.array([inputarray,]):创建一维或多维数组。
1.2 numpy.zeros(shape, dtype = None, order = 'C'):根据shape 生成全0数组。
1.3 numpy.ones(shape, dtype = None, order = 'C'):根据shape 生成全1数组。
例如,生成一个三行两列的零矩阵:
>>>import numpy as np >>>a = np.zeros((3,2)) >>>print(a) [[0. 0.] [0. 0.] [0. 0.]]
2. 数组操作:
2.1 numpy.sort(a[, axis=-1, kind='quicksort', …]):返回已排序的数组。
2.2 numpy.argmax(a, axis=None, out=None):返回沿轴的最大值的索引。
2.3 numpy.where(cond, x, y):根据条件返回元素不同的数组。
例如,求矩阵a中每行的最大值的索引:
>>>a = np.array([[1,2,3],[4,5,6],[7,8,9]]) >>>print(np.argmax(a, axis=1)) [2 2 2]
3. 数学函数:
3.1 numpy.add(x1, x2, /[, out, where, casting, …]):两个数组相加。
3.2 numpy.multiply(x1, x2, /[, out, where, casting, …]):两个数组相乘。
3.3 numpy.dot(a, b[, out]):两个数组的矩阵乘积。
例如,求矩阵的逆:
>>>a = np.array([[1,2],[3,4]]) >>>inv_a = np.linalg.inv(a) >>>print(inv_a) [[-2. 1. ] [ 1.5 -0.5]]
4. 统计函数:
4.1 numpy.mean(a[, axis, dtype, out, keepdims]):求平均值。
4.2 numpy.std(a[, axis, dtype, out, ddof, …]):求标准差。
4.3 numpy.median(a[, axis, out, overwrite_input, …]):求中位数。
例如,求矩阵a的平均值、标准差和中位数:
>>>a = np.array([[1,2],[3,4]]) >>>print(np.mean(a)) 2.5 >>>print(np.std(a)) 1.118033988749895 >>>print(np.median(a)) 2.5
5. 概率函数:
5.1 numpy.random.seed([seed]):重置随机数生成器的状态。
5.2 numpy.random.rand(d0, d1, ..., dn):生成指定形状的随机浮点数。
5.3 numpy.random.randint(low, high=None, size=None, …):根据指定的大小生成一个整数或整数数组。
例如,生成一个3行2列的随机浮点数矩阵:
>>>np.random.seed(0) >>>a = np.random.rand(3,2) >>>print(a) [[0.5488135 0.71518937] [0.60276338 0.54488318] [0.4236548 0.64589411]]
总结:
numpy作为Python中科学计算和数值运算的标配库,在数学计算中扮演了重要的角色。
本文介绍了numpy中常用的数组创建、数组操作、数学函数、统计函数、概率函数等各种函数,应用这些函数可以快速、高效地完成数学计算任务。在使用numpy时,需要注意数据类型、数组形状等细节问题,以避免不必要的错误。
