numpy基础——ndarray对象属性

本文详细介绍了numpy的ndarray对象,包括构造函数numpy.ndarray(),ndarray的常用属性,如ones、zeros系列函数,arange、linspace与logspace,以及fromstring与fromfunction。此外,还讲解了创建特殊二维数组的方法,如对角矩阵、单位矩阵等,以及一维和多维数组的元素访问技巧。
摘要由CSDN通过智能技术生成

numpy 是使用python进行数据分析不可或缺的第三方库,非常多的科学计算工具都是基于 numpy 进行开发的。

ndarray对象是用于存放同类型元素的多维数组,是numpy中的基本对象之一,另一个是func对象。本文主要内容是:1 、简单介绍ndarray对象2、ndarray对象的常用属性3、如何创建ndarray对象4、ndarray元素访问
它的维度以及个维度上的元素个数由shape决定。

1 numpy.ndarray()

标题中的函数就是numpy的构造函数,我们可以使用这个函数创建一个ndarray对象。构造函数有如下几个可选参数:

参数 类型 作用
shape int型tuple 多维数组的形状
dtype data-type 数组中元素的类型
buffer 用于初始化数组的buffer
offset int buffer中用于初始化数组的首个数据的偏移
strides int型tuple 每个轴的下标增加1时,数据指针在内存中增加的字节数
order ‘C’ 或者 ‘F’ ‘C’:行优先;’F’:列优先

实例:

>>> np.ndarray(shape=(2,3), dtype=int, buffer=np.array([1,2,3,4,5,6,7]), offset=0, order="C") 
array([[1, 2, 3],
       [4, 5, 6]])
>>> np.ndarray(shape=(2,3), dtype=int, buffer=np.array([1,2,3,4,5,6,7]), offset=0, order="F")
array([[1, 3, 5],
       [2, 4, 6]])
>>> np.ndarray(shape=(2,3), dtype=int, buffer=np.array([1,2,3,4,5,6,7]), offset=8, order="C") 
array([[2, 3, 4],
       [5, 6, 7]])

2 ndarray对象的常用属性

接下来介绍ndarray对象最常用的属性

属性 含义
T 转置,与self.transpose( )相同,如果维度小于2返回self
size 数组中元素个数
itemsize 数组中单个元素的字节长度
dtype 数组元素的数据类型对象
ndim 数组的维度
shape 数组的形状
data 指向存放数组数据的python buffer对象
flat 返回数组的一维迭代器
imag 返回数组的虚部
real 返回数组的实部
nbytes 数组中所有元素的字节长度

实例:

>>> a = np.array(range(15)).reshape(3,5)
>>> a
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14]])
>>> a.T
array([[ 0,  5, 10],
       [ 1,  6, 11],
       [ 2,  7, 12],
       [ 3,  8, 13],
       [ 4,  9, 14]])
>>> a.size
15
>>> a.itemsize
8
>>> a.ndim
2
>>> a.shape
(3, 5)
>>> a.dtype
dtype('int64')

3 创建ndarray

3.1 array

使用array函数,从常规的python列表或者元组中创建数组,元素的类型由原序列中的元素类型确定。

numpy.array(object, dtype=None, copy=True, order=None, subok=False, ndmin=0)

实例:

>>> np.array([1, 2, 3])
array([1, 2, 3])
>>> np.array([[1, 2],[3, 4]])
array([[1, 2],
       [3, 4]])
>>> c = array( [ [1,2], [3,4] ], dtype=complex )
>>> c
array([[1.+0.j, 2.+0.j], 
       [3.+0.j, 4.+0.j]])
>>> a = np.array([1, 2, 3], ndmin=2)
>>> a
array([[1, 2, 3]])
>>> a.shape
(1, 3)
>>> np.array(np.mat('1 2; 3 4'))
array([[1, 2],
       [3, 4]])
>>> np.array(np.mat('1 2; 3 4'), subok=True)
matrix([[1, 2],
        [3, 4]])

subokTrue,并且object是ndarray子类时(比如矩阵类型),返回的数组保留子类类型

3.2 ones与zeros系列函数

某些时候,我们在创建数组之前已经确定了数组的维度以及各维度的长度。这时我们就可以使用numpy内建的一些函数来创建ndarray。
例如:函数ones

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值