NumPy在数据科学和数学计算中的重要性,在数据科学和数学计算中,NumPy是一种基础的工具,被广泛用于数组操作和数学运算。众多数据科学和机器学习的库,如Pandas、SciPy、Scikit-learn等,都建立在NumPy的基础上。其高效的数组操作使得复杂的数学计算变得更加简单和高效。
NumPy是一个强大的数学库,提供了多维数组对象('numpy.ndarray'
)以及这些数组的操作。它之所以重要,是因为它使得在Python中进行数学和科学计算变得更加高效和方便。NumPy数组是固定大小、同一类型的元素的数组,允许快速的向量化操作。
2.1.1 性能优越: NumPy数组是经过高度优化的,底层由C语言实现,因此在处理大规模数据时非常高效。
2.1.2 广泛应用: 在科学计算、统计学、机器学习等领域广泛应用。
2.1.3强大的数学函数库: 提供了丰富的数学函数,涵盖了常见的数学运算和统计操作。
2.1.4广播机制: 允许不同形状的数组进行操作,使得代码更简洁和易读。
2.2 与Python原生列表的比较
NumPy数组与Python原生列表相比,具有更好的性能和更多的功能。NumPy数组是固定类型的,这使得它们更适合数学运算。此外,NumPy提供了丰富的数组操作,如广播、统计、线性代数等,远远超出了原生列表的功能
(具体可参考本up主之前的文章:Python---Pycharm安装各种库(第三方库)_pycharm库-CSDN博客)
pip install numpy
import numpy as np
# 通过列表创建数组
arr = np.array([1, 2, 3])
# 初始化零数组
zeros_arr = np.zeros((3, 4))
# 初始化单位矩阵
identity_matrix = np.eye(3)
# 数组索引
element = arr[0]
# 数组切片
sub_array = arr[1:3]
# 获取数组形状
shape = arr.shape
# 获取数组维度
dimension = arr.ndim
# 数组加法
sum_arr = arr + 5
# 数组乘法
product_arr = arr * 2
# 数组相加
result_arr = arr1 + arr2
# 数组点乘
dot_product = np.dot(arr1, arr2)
# 正弦函数
sin_arr = np.sin(arr)
# 指数函数
exp_arr = np.exp(arr)
# 计算均值
mean_value = np.mean(arr)
# 计算方差
variance_value = np.var(arr)
# 矩阵乘法
matrix_product = np.matmul(matrix1, matrix2)
# 矩阵转置
transpose_matrix = np.transpose(matrix)
NumPy的广播机制允许在不同形状的数组之间执行操作,使得代码更加简洁。
# 广播示例
broadcasted_arr = arr + np.array([10, 20, 30])
# 生成随机整数
random_int = np.random.randint(1, 10, size=(3, 3))
# 生成随机正态分布数组
random_normal = np.random.normal(loc=0, scale=1, size=(3, 3))
# 设置随机数生成的种子
np.random.seed(42)
# 保存数组到文件
np.save('my_array.npy', arr)
# 从文件加载数组
loaded_arr = np.load('my_array.npy')
# 保存数组到CSV文件
np.savetxt('my_array.csv', arr, delimiter=',')
# 从CSV文件加载数组
loaded_csv_arr = np.loadtxt('my_array.csv', delimiter=',')