一、NumPy库简介
NumPy(Numerical Python)是一个用于科学计算的Python库。它提供了一个用于处理大型多维数组和矩阵的高效工具。NumPy库在数据科学领域是一个重要的库。
下面是一个简单的例子,演示了如何使用NumPy库创建一个一维数组,并对其进行操作:
import numpy as np
arr = np.array([1, 2, 3, 4])
print(arr) # 输出 [1 2 3 4]
# 数组的形状
print(arr.shape) # 输出 (4,)
# 数组的元素个数
print(arr.size) # 输出 4
# 数组元素的数据类型
print(arr.dtype) # 输出 int64
二、创建数组
使用NumPy库可以很方便地创建数组。可以使用numpy.array函数创建数组,也可以从列表或元组中创建数组:
import numpy as np
# 从列表中创建数组
arr1 = np.array([1, 2, 3, 4])
print(arr1) # 输出 [1 2 3 4]
# 从元组中创建数组
arr2 = np.array((1, 2, 3, 4))
print(arr2) # 输出 [1 2 3 4]
使用NumPy库也可以创建特定的数组,例如,可以使用numpy.zeros函数创建全零数组,numpy.ones函数创建全一数组,numpy.random.rand函数创建随机数组:
import numpy as np
# 创建全零数组
zeros_arr = np.zeros(3)
print(zeros_arr) # 输出 [0. 0. 0.]
# 创建全一数组
ones_arr = np.ones(3)
print(ones_arr) # 输出 [1. 1. 1.]
# 创建随机数组
rand_arr = np.random.rand(3)
print(rand_arr) # 输出 [0.85007557 0.74959504 0.178823]
# 创建指定形状的数组
arr = np.empty((2, 3))
print(arr) # 输出 [[1.24441872e-311, 9.58487353e-322, 0.00000000e+000],
# [0.00000000e+000, 6.95348796e-309, 7.49303579e-067]]
三、数组索引和切片
与Python中列表和元组的索引和切片类似,使用NumPy库也可以对数组进行相应的操作。可以使用整数索引、切片和布尔索引来选择数组的子集。
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
# 整数索引
print(arr[0]) # 输出 1
print(arr[2]) # 输出 3
# 切片
print(arr[3:6]) # 输出 [4 5 6]
print(arr[:5]) # 输出 [1 2 3 4 5]
print(arr[5:]) # 输出 [ 6 7 8 9 10]
# 布尔索引
arr_bool = arr > 5
print(arr_bool) # 输出 [False False False False False True True True True True]
print(arr[arr_bool]) # 输出 [ 6 7 8 9 10]
四、数组操作
NumPy库提供了许多有用的函数来操作数组,例如可以使用numpy.reshape函数改变数组的形状,numpy.concatenate函数将多个数组合并成一个数组,numpy.copy函数复制数组:
import numpy as np
# 改变数组形状
arr1 = np.array([1, 2, 3, 4, 5, 6])
reshape_arr = arr1.reshape((2, 3))
print(reshape_arr) # 输出 [[1 2 3]
# [4 5 6]]
# 合并数组
arr2 = np.array([7, 8, 9])
concatenate_arr = np.concatenate((arr1, arr2))
print(concatenate_arr) # 输出 [1 2 3 4 5 6 7 8 9]
# 复制数组
copy_arr = arr1.copy()
copy_arr[0] = 0
print(copy_arr) # 输出 [0 2 3 4 5 6]
print(arr1) # 输出 [1 2 3 4 5 6]
五、数学函数
NumPy库提供了许多常用的数学函数,如三角函数、指数函数、对数函数等,以及统计函数,如平均值、方差、标准差等。
import numpy as np
x = np.array([0, np.pi/2, np.pi])
# 三角函数
print(np.sin(x)) # 输出 [0. 1. 0. ]
print(np.cos(x)) # 输出 [ 1.000000e+00 6.123234e-17 -1.000000e+00]
# 指数函数和对数函数
x = np.array([1, 2, 3])
print(np.exp(x)) # 输出 [ 2.71828183 7.3890561 20.08553692]
print(np.log(x)) # 输出 [0. 0.693147 1.098612]
# 统计函数
arr = np.array([1, 2, 3, 4, 5])
print(np.mean(arr)) # 输出 3.0
print(np.var(arr)) # 输出 2.0
print(np.std(arr)) # 输出 1.41421356
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/206218.html