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的属性如下表:

属性        描述
ndimndarray轴(维度)的个数,轴的个数被称作秩
shapendarray的形状,如2X3的阵列,其shape为(2,3)
sizendarray的元素个数
dtypendarray的元素数据类型,如int32
itemsizendarray的元素的大小

下面进行举例说明:

>>> 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库还提供了很多其他处理方法,后续再进行介绍

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ndarrayPython中的一种多维数组,可以用来存储和操作大量的数值数据。它具有许多有用的属性和方法,可以让用户更容易地处理数据。`numpy.ndarray` 是 NumPy 库中的一个类,用于表示 N 维数组(即多维数组)。它是 NumPy 的核心数据结构之一,提供了许多高效的操作,例如数组索引、切片、算术运算、数学函数等等。 在使用 `numpy.ndarray` 时,通常需要先导入 NumPy 库,然后通过 `numpy.array()` 函数将 Python 列表或元组转换成 N 维数组,例如: ```python import numpy as np # 从列表创建一个一维数组 a = np.array([1, 2, 3]) print(a) # 输出:[1 2 3] # 从元组创建一个二维数组 b = np.array([(1, 2, 3), (4, 5, 6)]) print(b) # 输出: # [[1 2 3] # [4 5 6]] ``` 可以通过 `ndarray.shape` 属性获取数组的维度信息,通过 `ndarray.dtype` 属性获取数组元素的数据类型,例如: ```python # 获取数组的形状 print(a.shape) # 输出:(3,) print(b.shape) # 输出:(2, 3) # 获取数组元素的数据类型 print(a.dtype) # 输出:int64 print(b.dtype) # 输出:int64 ``` 还可以使用各种方法对数组进行操作,例如: ```python # 数组加法 c = a + b print(c) # 输出: # [[2 4 6] # [5 7 9]] # 数组乘法 d = a * b print(d) # 输出: # [[ 1 4 9] # [ 4 10 18]] # 数组转置 e = b.T print(e) # 输出: # [[1 4] # [2 5] # [3 6]] ``` 这些只是 `numpy.ndarray` 类提供的一些基本功能,NumPy 库还有更多高级的特性和函数可以探索。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值