NumPy数值计算基础(超详细的numpy使用方法)

您所在的位置:网站首页 Python里numpy计算相关系数 NumPy数值计算基础(超详细的numpy使用方法)

NumPy数值计算基础(超详细的numpy使用方法)

2024-07-15 22:39| 来源: 网络整理| 查看: 265

NumPy数值计算基础 NumPy是在1995年诞生的Python库Numeric的基础上建立起来的,但真正促使NumPy的发行的是Python的SciPy库。但SciPy中并没有合适的类似于Numeric中的对于基础数据对象处理的功能。于是,SciPy的开发者将SciPy中的一部分和Numeric的设计思想结合,在2005年发行了NumPy。 NumPy是Python的一种开源的数值计算扩展库。它包含很多功能,如创建n维数组(矩阵)、对数组进行函数运算、数值积分等。 NumPy的诞生弥补了这些缺陷,它提供了两种基本的对象: ndarray:是储存单一数据类型的多维数组。 ufunc:是一种能够对数组进行处理的函数。 NumPy常用的导入格式:import numpy as np 一、NumPy多维数组 1 创建数组对象

通常来说,ndarray是一个通用的同构数据容器,即其中的所有元素都需要相同的类型。利用array函数可创建ndarray数组。

(1)利用array函数创建数组对象

array函数的格式:np.array(object, dtype,ndmin)

array函数的主要参数及说明:

在这里插入图片描述

import numpy as np data1 = [1,3,5,7] #列表 w1 = np.array(data1) print('w1:',w1) data2 = (2,4,6,8) #元组 w2 = np.array(data2) print('w2:',w2) data3 = [[1,2,3,4],[5,6,7,8]] #多维数组 w3 = np.array(data3) print('w3:',w3)

在这里插入图片描述

(2)专门创建数组的函数 arange函数:创建等差一维数组 格式:np.arange([start, ]stop, [step, ]dtype)

在这里插入图片描述 例:`

warray = np.arange(10) print(warray) warray = np.arange(0,1,0.2) print(warray)`

在这里插入图片描述

logspace函数:创建等比一维数组 格式:np.logspace(start, stop, num, endpoint=True,base=10.0, dtype=None))

logspace的参数中,start, stop代表的是10的幂,默认基数base为10,第三个参数元素个数。

warray = np.logspace(0,1,5)#生成1-10间的5个元素的等比数列 print(warray) 在这里插入图片描述

zeros函数:创建指定长度或形状的全0数组 格式:np.zeros(shape, dtype=float, order=‘C’) ones函数:创建指定长度或形状的全1数组 格式:np. ones(shape, dtype=None, order=‘C’) diag函数:创建一个对角阵。 格式:np.diag(v, k=0) 2 ndarray对象属性和数据转换

ndarray对象属性及其说明:

在这里插入图片描述 例:

warray = np.array([[1,2,3],[4,5,6]]) print('秩为:',warray.ndim) print('形状为:',warray.shape) print('元素个数为:',warray.size)

在这里插入图片描述 设置数组的shape属性。

warray.shape = 3,2 print(warray)

在这里插入图片描述 数组的类型转换。

arr1 = np.arange(6) print(arr1.dtype) arr2 = arr1.astype(np.float64) print(arr2.dtype)

在这里插入图片描述

3 生成随机数

在NumPy.random模块中,提供了多种随机数的生成函数。如randint函数生成指定范围的随机整数来构成指定形状的数组。

用法: np.random.randint(low, high = None, size = None)

arr = np.random.randint(100,200,size = (2,4)) print(arr)

在这里插入图片描述 random模块的常用随机数生成函数 在这里插入图片描述

4 数组变换 (1)数组重塑

与reshape相反的方法是数据散开(ravel)或数据扁平(flatten)。

arr1 = np.arange(12).reshape(3,4) print("arr1:",arr1) arr2 = arr1.ravel() print("arr2:",arr2)

在这里插入图片描述 数据重塑不会改变原来的数组。

(2)数组合并 hstack函数:实现横向合并 vstack函数:实现纵向组合是利用vstack将数组纵向合并; concatenate函数:可以实现数组的横向或纵向合并,参数axis=1时进行横向合并,axis=0时进行纵向合并。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3