NumPy Ndarray对象

NumPy 中定义的最重要的对象是称为 ndarray 的 N 维数组类型。 它描述相同类型的元素集合。 可以使用基于零的索引访问集合中的项目。

ndarray中的每个元素在内存中使用相同大小的块。 ndarray中的每个元素是数据类型对象的对象(称为 dtype)。

ndarray对象提取的任何元素(通过切片)由一个数组标量类型的 Python 对象表示。 下图显示了ndarray,数据类型对象(dtype)和数组标量类型之间的关系。

ndarray类的实例可以通过后面描述的不同的数组创建例程来构造。 基本的ndarray是使用 NumPy 中的数组函数创建的,如下所示:

numpy.array

它从任何暴露数组接口的对象,或从返回数组的任何方法创建一个ndarray。

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

上面的构造器接受以下参数:

  1. object 任何暴露数组接口方法的对象都会返回一个数组或任何(嵌套)序列。
  2. dtype 数组的所需数据类型,可选。
  3. copy 可选,默认为true,对象是否被复制。
  4. order C(按行)、F(按列)或A(任意,默认)。
  5. subok 默认情况下,返回的数组被强制为基类数组。 如果为true,则返回子类。
  6. ndimin 指定返回数组的最小维数。

看看下面的例子来更好地理解。

示例1:一维

import numpy as np
a=np.array([1,2,3])
print(a)

输出内容:

[1 2 3]

示例2:二维

import numpy as np
a=np.array([[1,2],[3,4]])
print(a)

输出内容:

[[1 2]
 [3 4]]

示例3:最小维度

import numpy as np
a=np.array([1,2,3,4,5],ndmin=2)
print(a)

输出内容:

[[1 2 3 4 5]]

示例4:dtype 参数

import numpy as np
a=np.array([1,2,3],dtype=complex)#complex复数
print(a)

输出内容:

[1.+0.j 2.+0.j 3.+0.j]

ndarray 对象由计算机内存中的一维连续区域组成,带有将每个元素映射到内存块中某个位置的索引方案。 内存块以按行(C 风格)或按列(FORTRAN 或 MatLab 风格)的方式保存元素。

原文地址:https://www.cnblogs.com/jin521/p/8987432.html

时间: 2024-08-06 21:37:07

NumPy Ndarray对象的相关文章

Numpy Ndarray 对象

Numpy最重要的特点是 其N维数组对象ndarray,他是一系列同类型数据的集合,以 0 为下表 进行索引 ndarray 对象是用于存放同类型元素的多维数组. ndarray 中的每个元素在内存中都有相同存储大小的区域. Numpy 的一些属性 import numpy as np a = np.array([1,2,3]) print (a) 输出结果如下: [1, 2, 3] # 多于一个维度 import numpy as np a = np.array([[1, 2], [3, 4]

NumPy-快速处理数据--ndarray对象--多维数组的存取、结构体数组存取、内存对齐、Numpy内存结构

本文摘自<用Python做科学计算>,版权归原作者所有. 上一篇讲到:NumPy-快速处理数据--ndarray对象--数组的创建和存取 接下来接着介绍多维数组的存取.结构体数组存取.内存对齐.Numpy内存结构 一.多维数组的存取 多维数组的存取和一维数组类似,因为多维数组有多个轴,因此它的下标需要用多个值来表示,NumPy采用组元(tuple)作为数组的下标.如二维数组需要(x, y)的元组标记一个数组元素:三维数组需要(x, y, z)的元组标记一个元素. 如下图所示,a为一个6x6的二

NumPy-快速处理数据--ndarray对象--数组的创建和存取

本文摘自<用Python做科学计算>,版权归原作者所有. NumPy为Python提供了快速的多维数组处理的能力,而SciPy则在NumPy基础上添加了众多的科学计算所需的各种工具包,有了这两个库,Python就有几乎和Matlab一样的处理数据和计算的能力了.可以直接按照书中写的下载Python(x,y),也可以单独配置各个模块.配置方法见:Numpy.SciPy.MatPlotLib在Python2.7.9下的安装与配置 一.为什么需要Numpy处理数据? 1. 标准安装的Python中用

numpy 数组对象

numpy 数组对象NumPy中的ndarray是一个多维数组对象,该对象由两部分组成:实际的数据,描述这些数据的元数据# eg_v1 import numpy as np a = np.arange(5) # 创建一个包含5个元素的NumPy数组a,取值分别为0~4的整数 print (a) # [0 1 2 3 4] print (a.dtype) # dtype 查看数组的数据类型 # int32 (数组a的数据类型为int32) # 确定数组的维度(数组的shape属性返回一个元组(tu

ndarray对象的使用方法

ndarray的基本操作 1.索引 基本索引:一维与list完全一致 多维同理 例如: import numpy ndarr1 = numpy.random.randint(0,10.size=5) ndarr1[0] # 取数组中的第一个值, 以此类推 ndarr1[1] ndarr1[-1] 高级索引:整数数组形式的索引 例如: nd = np.random.randint(0,10,size=(5,6)) ndarray([[0, 4, 7, 5, 9, 7], [5, 3, 2, 9,

Python —— 实例化ndarray对象

ndarray(全称The N-dimensional array)是存储着相同类型和大小的元素的多维数组.数组的维度和每个数组中的元素是由shape来决定的.数组中的元素类型是由dtype决定的.与其他python中的对象容器一样,ndarray中的内容可以由数组的下标来访问. 实例化ndarray对象:numpy.arange(int) 如: 根据arange()中填的数字实例化出ndarray数组,如果想要创建多维数组,需要再调用reshape()函数,如:                

&lt;class &#39;numpy.ndarray&#39;&gt;的学习

在学习opencv-python的时候,给出图片地址再调用cv2.imread("地址"),发现出创建的是numpy类型的ndarray对象,用来存放多维数组的对象 # 导入cv2模块 import cv2 # 给出本地图片的地址 img_dir="D:/360Downloads/test.jpg" # 创建numpy类型的ndarray对象,存放多维数组的对象 img=cv2.imread(img_dir) # <class 'numpy.ndarray'&

numpy ndarray

>>> aarray([[1, 2], [3, 4]])>>> a.shape(2, 2)>>> barray([2, 3])>>> b.shape(2,)>>> carray([[1], [2]])>>> c.shape(2, 1)>>> darray([[1, 2]])>>> d.shape(1, 2) >>> d.sum(0)==earra

TypeError: unhashable type: &#39;numpy.ndarray&#39;

在TensorFlow中运行程序出现如下  TypeError: unhashable type: 'numpy.ndarray',主要原因可能是数据类型的问题,如下: batch_X = X_train[idx, :]batch_y = y_train[idx, :] 可能X_train 是 DataFrame格式的,不能用于迭代,可将其转化成 np.array 格式的,如 X_train = np.array(X_train) TypeError: unhashable type: 'num