欢迎访问宙启技术站
智能推送

Python中用于数学计算的numpy函数

发布时间:2023-06-19 22:03:41

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时,需要注意数据类型、数组形状等细节问题,以避免不必要的错误。