~1~第十一章Numpy数值计算
目录Numpy概述NumPy基础数组运算逻辑运算与条件筛选排序、搜索与计数Numpy的向量化案例:线性回归分析-2-
1.Numpy概述数值计算:在现代科学和工程计算中,处理大规模数据和执行复杂的数值计算已成为常态。Python作为一种高效、易学的编程语言,其在数据科学领域的广泛应用部分归功于NumPy库Numpy的主要功能:NumPy(NumericalPython):Python编程语言的一个核心库,专为处理大规模的数值数据而设计,其主要功能包括:多维数组对象(ndarray):提供对多维数组的高效操作。数值计算的高性能函数:支持快速的数学运算,包括线性代数、傅里叶变换等。强大的广播机制:允许对不同形状的数组进行灵活的运算。NumPy的优势体现在:高效的数值计算:NumPy的核心是其多维数组对象,提供了快速、灵活的数组操作,这在处理大型数据集时尤为重要。Python科学计算的基础:NumPy是许多其他科学计算库(如SciPy、Pandas、Matplotlib、TensorFlow等)的基础,这些库广泛用于数据分析、机器学习和人工智能领域。跨语言性能优势:NumPy在底层使用C和Fortran编写,以确保性能接近于纯C或Fortran程序,同时保留了Python的灵活性和易用性。3
2.NumPy基础2.1NumPy的安装与配置在开始使用NumPy之前,需要先进行安装和配置。NumPy可以通过Python包管理工具pip进行安装。要使用pip安装NumPy,打开命令行或终端,输入以下命令:pipinstallnumpy安装NumPy后,通过Python解释器导入NumPy来验证安装是否成功:importnumpyasnpprint(np.__version__)执行上述代码,如果输出了NumPy的版本号,则表示安装成功。4
2.2ndarray对象ndarray(N-dimensionalarray):是NumPy的核心数据结构,支持多维数组和矩阵运算。与Python的列表list相比,ndarray具有更高的性能和更丰富的功能。创建ndarray有两种方法。方法一:从Python列表或元组创建:NumPy可将Python的列表或元组转换为ndarray对象:importnumpyasnp#从列表创建一维数组array_1d=np.array([1,2,3,4,5])print(array_1d)#从嵌套列表创建二维数组array_2d=np.array([[1,2,3],[4,5,6]])print(array_2d)5
方法二:使用NumPy内置函数:NumPy提供了多种内置函数用于创建特定类型的数组。(1)np.zeros(shape):创建全零数组。zeros_array=np.zeros((3,3))print(zeros_array)(2)np.ones(shape):创建全一数组。ones_array=np.ones((2,4))print(ones_array)(3)np.eye(N):创建N×N的单位矩阵。eye_array=np.eye(4)print(eye_array)(4)np.arange(start,stop,step):用于创建一个等差数列的数组,从start开始(包含)到stop结束(不包含),以step为步长。arange_array=np.arange(0,10,2)print(arange_array)(5)np.linspace(start,stop,num):用于创建一个等间隔数列的数组,从start开始到stop结束(包含),生成的数组具有num个元素。linspace方法名称来源于linearspace(线性空间)的缩写。linspace_array=np.linspace(0,1,5)print(linspace_array)6
2.3ndarray的属性和方法NumPy数组对象具有丰富的属性和方法,用于获取数组的基本信息和执行常见操作:ndarray的属性ndarray.shape:数组的形状ndarray.size:数组的元素总数ndarray.dtype:数组元素的数据类型ndarray.ndim:数组的维数array=np.array([[1,2,3],[4,5,6]])print(array.shape)#输出:(2,3)print(array.size)#输出:6print(array.dtype)#输出:int64(根据系统不同,可能