Python的numpy库ndarray简介

目录

前言

一、ndarray产生方法

1. np.array()

2.np.arrage()

3.np.linspace()

二、ndarray的属性

总结


前言

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))  #元组转换为ndarray
array([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) #生产列表来产生ndarray
array([[ 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) #返回一维array
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> np.arange(1,10,2) #返回一维array,步长为2
array([1, 3, 5, 7, 9])
>>> np.arange(1,10,2,dtype=float) #指定dtype
array([1., 3., 5., 7., 9.])
>>> np.arange(1,5,0.5) #给定条件有float,返回类型为float
array([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个数,默认为float
array([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)  #制定数据类型为int
array([ 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)
>>> ary
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> ary.ndim
1
>>> ary.shape
(9,)
>>> ary.size
9
>>> ary.dtype   
dtype('int32')
>>> ary.itemsize
4


总结

本文介绍了numpy的ndarray的属性和基本的产生方法,关于ndarray,numpy库还提供了很多其他处理方法,后续再进行介绍

你可能感兴趣的:(Python学习,python,numpy,开发语言)