📅  最后修改于: 2023-12-03 14:46:38.120000             🧑  作者: Mango
Python中的np指的是NumPy库。NumPy是一个开源的Python科学计算库,它用于处理大型多维数组和矩阵。NumPy对于那些需要进行大量数学运算的科学计算任务非常有用。
要安装NumPy,可以在终端中使用以下命令:
pip install numpy
在Python中导入NumPy,我们一般使用以下语句:
import numpy as np
这个“as np”的部分是有点像一个别名,它允许我们更轻松地引用NumPy库中的函数和类。
NumPy的核心对象是数组对象,这些数组可以是N维,即可以是一维、二维、三维等等的数组。可以按照以下方式创建一维和二维数组:
# 创建一维数组
a = np.array([1, 2, 3])
print(a) # 输出 [1 2 3]
# 创建二维数组
b = np.array([(1, 2, 3), (4, 5, 6)])
print(b) # 输出 [[1 2 3]
# [4 5 6]]
NumPy数组有多个有用的属性,可以通过这些属性获取有关数组的信息。一些常见的数组属性是:
# ndarray.ndim
# 数组的轴数(维数)
a = np.arange(24)
print(a.ndim) # 输出 1
b = np.array([(1, 2, 3), (4, 5, 6)])
print(b.ndim) # 输出 2
# ndarray.shape
# 数组每个维度的大小
c = np.array([(1, 2, 3), (4, 5, 6)])
print(c.shape) # 输出 (2, 3)
# ndarray.size
# 数组元素的总数
d = np.array([(1, 2, 3), (4, 5, 6)])
print(d.size) # 输出 6
# ndarray.dtype
# 数组元素的类型
e = np.array([(1, 2, 3), (4, 5, 6)])
print(e.dtype) # 输出 int64
在NumPy中,我们可以像操作Python列表那样在数组中进行切片和索引操作:
# 一维数组切片和索引
f = np.array([(1, 2, 3), (4, 5, 6)])
print(f[0]) # 输出 [1 2 3]
print(f[1, 0:2]) # 输出 [4 5]
# 二维数组切片和索引
g = np.array([1, 2, 3, 4, 5, 6, 7, 8])
print(g[0:7:2]) # 输出 [1 3 5 7]
h = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9)])
print(h[1,...]) # 输出 [4 5 6]
print(h[...,1]) # 输出 [2 5 8]
在NumPy中,我们可以对数组进行各种数学运算,例如加、减、乘、除等。以下是一些常用的数组运算:
# 数组加
i = np.array([(1, 2, 3), (4, 5, 6)])
j = np.array([(7, 8, 9), (10, 11, 12)])
print(np.add(i,j)) # 输出 [[ 8 10 12]
# [14 16 18]]
# 数组减
k = np.array([(1, 2, 3), (4, 5, 6)])
l = np.array([(7, 8, 9), (10, 11, 12)])
print(np.subtract(k,l)) # 输出 [[-6 -6 -6]
# [-6 -6 -6]]
# 数组乘
m = np.array([(1, 2, 3), (4, 5, 6)])
n = np.array([(7, 8, 9), (10, 11, 12)])
print(np.multiply(m,n)) # 输出 [[ 7 16 27]
# [40 55 72]]
# 数组除
o = np.array([(1, 2, 3), (4, 5, 6)])
p = np.array([(7, 8, 9), (10, 11, 12)])
print(np.divide(o,p)) # 输出 [[0.14285714 0.25 0.33333333]
# [0.4 0.45454545 0.5 ]]
NumPy是Python科学计算的重要组件,可以用于处理大型多维数组和矩阵,这对于那些需要进行大量数学运算的科学计算任务非常有用。此外,NumPy还提供了许多数组属性和运算,使得在Python中进行高效的数值计算变得更加简单。