目录
前言
numpy库可以用来处理矩阵相关的数学运算,相比于Python自带的列表,其功能更强大,且运行速度更快。下面介绍一些常用的numpy库的用法。
一、ndarray产生方法
ndarray是numpy模块的基本数据模块,它是由一组数字组成一维或者多维的阵列 。Numpy可以有多种方法产生ndarray,下面介绍其中的常用的方法。
1. np.array()
用法:np.array(object, dtype=None, ndmin=0)
object:任何提供array接口的对象,如列表,元组等
dtype:元素类型,如int,float等
ndmin: nd array的维度(dimention)
np.array()方法可以将任何提供array接口的对象转换为ndarray,可以通过参数来调整ndarray的元素类型以及ndim的维度,举例如下:
>>> np.array((2,3,4)) #元组转换为ndarrayarray([2, 3, 4])>>> np.array((1.2,3,4)) #默认数据类型和原对象保持一致array([1.2, 3. , 4. ])>>> np.array([2,3,4,5],dtype=float,ndmin=2) #dtype来改变数据类型,ndmin确定维度array([[2., 3., 4., 5.]])>>> np.array([x*x for x in range(0,5)],dtype=float,ndmin=2) #生产列表来产生ndarrayarray([[ 0., 1., 4., 9., 16.]])
2.np.arrage()
用法:np.arange([start,] stop[, step,], dtype=None)
start:起始数字
stop:结束数字,返回的array不包含该数
step:步长
dtype:数据类型,如果不指定则根据给定条件的数据类型来定
np.arange()方法根据给定的起始和结束以及步长返回一个一维的ndarray,它的功能和Python本身的range()方法类似,所不同的是np.arange()更为强大,它可以返回float的元素组成的array,而range()只能返回int的list。下面是代码举例:
>>> np.arange(1,10) #返回一维arrayarray([1, 2, 3, 4, 5, 6, 7, 8, 9])>>> np.arange(1,10,2) #返回一维array,步长为2array([1, 3, 5, 7, 9])>>> np.arange(1,10,2,dtype=float) #指定dtypearray([1., 3., 5., 7., 9.])>>> np.arange(1,5,0.5) #给定条件有float,返回类型为floatarray([1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5])
3.np.linspace()
用法:linspace(start, stop, num=50, dtype=None, axis=0)
start:起始数字
stop:结束数字,返回的array包含该数
num:返回的值的个数
dtype:数据类型,如果不指定则根据给定条件的数据类型来定
np.linspace()方法和np.arange()方法一样都是返回从起始到结束的array,不同点是np.linspace()用的是num个数代替步长step来确定返回值,另一点是np.linspace()方法默认包含stop数。下面是代码举例:
>>> np.linspace(10,2) #返回10到2的array,默认为50个数,默认为floatarray([10. , 9.83673469, 9.67346939, 9.51020408, 9.34693878, 9.18367347, 9.02040816, 8.85714286, 8.69387755, 8.53061224, 8.36734694, 8.20408163, 8.04081633, 7.87755102, 7.71428571, 7.55102041, 7.3877551 , 7.2244898 , 7.06122449, 6.89795918, 6.73469388, 6.57142857, 6.40816327, 6.24489796, 6.08163265, 5.91836735, 5.75510204, 5.59183673, 5.42857143, 5.26530612, 5.10204082, 4.93877551, 4.7755102 , 4.6122449 , 4.44897959, 4.28571429, 4.12244898, 3.95918367, 3.79591837, 3.63265306, 3.46938776, 3.30612245, 3.14285714, 2.97959184, 2.81632653, 2.65306122, 2.48979592, 2.32653061, 2.16326531, 2. ])>>> np.linspace(1,10,10) #1到10的10个数array([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.])>>> np.linspace(1,10,2,dtype=int) #制定数据类型为intarray([ 1, 10])
二、ndarray的属性
ndarray的属性如下表:
属性 | 描述 |
ndim | ndarray轴(维度)的个数,轴的个数被称作秩 |
shape | ndarray的形状,如2X3的阵列,其shape为(2,3) |
size | ndarray的元素个数 |
dtype | ndarray的元素数据类型,如int32 |
itemsize | ndarray的元素的大小 |
下面进行举例说明:
>>> import numpy as np >>> ary=np.arange(1,10)>>> aryarray([1, 2, 3, 4, 5, 6, 7, 8, 9])>>> ary.ndim1>>> ary.shape(9,)>>> ary.size9>>> ary.dtype dtype('int32')>>> ary.itemsize4
总结
本文介绍了numpy的ndarray的属性和基本的产生方法,关于ndarray,numpy库还提供了很多其他处理方法,后续再进行介绍
来源地址:https://blog.csdn.net/qq_21337539/article/details/127039107