参考官方文档链接:

narray是Numpy的基本数据结构,本文主要分析对象的属性(可通过.进行访问)

1:导入numpy:

import numpy as np

2:初始化narray对象:

>>> x = np.array([[1, 2, 3], [4, 5, 6]], np.int32)
>>> x
array([[1, 2, 3],
[4, 5, 6]], dtype=int32)

3:查看np对象的行列sharp(np.shape)(返回两个元素元组,分别是行,列.):

>>> x.shape
(2, 3)

4:查看np对象的内存布局(np.flags)(详情点这里):

>>> x.flags
C_CONTIGUOUS : True :The data is in a single, C-style contiguous segment.
F_CONTIGUOUS : False :The data is in a single, Fortran-style contiguous segment.
OWNDATA : True :The array owns the memory it uses or borrows it from another object.
WRITEABLE : True :The data area can be written to.
ALIGNED : True :The data and all elements are aligned appropriately for the hardware.
UPDATEIFCOPY : False :(Deprecated, use WRITEBACKIFCOPY) This array is a copy of some other array. When this array is deallocated, the base array will be updated with the contents of this array.

5:查看数组的大小:(np.size)(即所有元素个数Number of elements in the array.):

>>> x.size
6

6:遍历数组时,在每个维度中步进的字节数组(np.strides)(Tuple of bytes to step in each dimension when traversing an array.):

>>> x
array([[1, 2, 3],
[4, 5, 6]], dtype=int32)
>>> x.strides
(12, 4)
以本片代码为例:int32位占据4个字节的数据,因此同行内移动一个数据至相邻的列需要4个字节,移动到下一行相同列需要(元素大小4*列数3)12个字节
>>> x = np.array([[1, 2, 3], [4, 5, 6]], np.int64)
>>> x.strides
(24, 8)

7:查看数组维度(np.ndim)(Number of array dimensions.):

>>> x.ndim
2

8:查看数组内存缓冲区的开始位置(np.data)(Python buffer object pointing to the start of the array’s data.):

>>> x.data
<memory at 0x7f49c189a990>

9:查看数组每一个元素所占的内存大小(np.itemsize)(Length of one array element in bytes.):

>>> x = np.array([1, 2], np.complex128)
>>> x.itemsize
16
>>> x = np.array([1, 2], np.int16)
>>> x.itemsize

10:查看数组元素消耗的总字节(np.nbytes)(Total bytes consumed by the elements of the array.):

>>> x = np.array([1, 2], np.int16)
>>> x.nbytes
4

11:查看数组的基对象(np.base)(Base object if memory is from some other object.)

>>> x = np.array([[1, 2, 3], [4, 5, 6]], np.int64)
>>> x.base
>>> y = x[1:] (分片后的对象与原对象共享内存)
>>> y.base
array([[1, 2, 3],
[4, 5, 6]])

请以官方文档为准,有问题可以留言,

Numpy narray对象的属性分析的更多相关文章

  1. 3.1Python数据处理篇之Numpy系列(一)---ndarray对象的属性与numpy的数据类型

    目录 目录 (一)简单的数组创建 1.numpy的介绍: 2.numpy的数组对象ndarray: 3.np.array(list/tuple)创建数组: (二)ndarray对象的属性 1.五个常用 ...

  2. C# Exception 对象的属性

    关于 C# 中 Exception 对象的属性,在程序出现异常时,需要记录异常的信息,并把信息保存起来或输出,以方便准确定位异常的根源,以下是 Exception  对象的属性 名称          ...

  3. 你好,C++(38)从问题描述中发现对象的属性和行为 6.4 工资程序成长记:类与对象(上)

    6.4  工资程序成长记:类与对象 “夜半三更哟,盼天明:寒冬腊月哟,盼春风.若要盼得哟,涨工资,岭上……”自从上次老板许诺给小陈涨工资以后,一转眼又过去几个月了,可是涨工资的事一点动静都没有.小陈只 ...

  4. JS中的RegExp对象常用属性和方法

    JavaScript提供了一个RegExp对象来完成有关正则表达式的操作和功能,每一条正则表达式模式对应一个RegExp实例.有两种方式可以创建RegExp对象的实例. 使用RegExp的显式构造函数 ...

  5. 非常易于理解‘类'与'对象’ 间 属性 引用关系,暨《Python 中的引用和类属性的初步理解》读后感

    关键字:名称,名称空间,引用,指针,指针类型的指针(即指向指针的指针) 我读完后的理解总结: 1. 我们知道,python中的变量的赋值操作,变量其实就是一个名称name,赋值就是将name引用到一个 ...

  6. numpy 数组对象

    numpy 数组对象NumPy中的ndarray是一个多维数组对象,该对象由两部分组成:实际的数据,描述这些数据的元数据# eg_v1 import numpy as np a = np.arange ...

  7. OpenCV中图像的BGR格式及Img对象的属性说明

    1. 图像的BGR格式说明 OpenCV中图像读入的数据格式是numpy的ndarray数据格式.是BGR格式,取值范围是[0,255]. 如下图所示,分为三个维度: 第一维度:Height 高度,对 ...

  8. js中 对象名.属性名和对象名['属性名']的区别,.和[]的区别

    对象中的对象名[ ' 属性名 ' ] 和 对象名.属性名的区别 话不多少,上图分析,菜鸟刚学几个月,如有错误,欢迎大佬们指出 这里是很显而易见的! 然后我们用for in 对他进行遍历,他的区别就出来 ...

  9. vue-learning:41 - Vuex - 第二篇:const store = new Vue.Store(option)中option选项、store实例对象的属性和方法

    vuex 第二篇:const store = new Vue.Store(option)中option选项.store实例对象的属性和方法 import Vuex from 'vuex' const ...

随机推荐

  1. @Springboot搭建项目controller层接收json格式的对象失败

    今天在使用swagger2测试的时候出错 1.@requestBody注解常用来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,比如说: ...

  2. 目前最快速的多线程Kmeans算法,java实现

    目前最快速Kmeans算法,并由java实现!面对很大的K值表现依然很好. 代码地址: https://github.com/Jethu1/fastKmeans #1.这是一个由java实现的的,多线 ...

  3. CF767 A. Snacktower 暴力

    LINK 题意:给出一个序列,如果存的数满足连续递减(第一个必须为n)则输出否则输出空行,并暂存当前数 思路:直接暴力不可行,由于待输出的数的个数满足单调性可以稍微优化,即从上一回输出的最小一个数开始 ...

  4. LightOJ 1089 - Points in Segments (II) 线段树区间修改+离散化

    http://www.lightoj.com/volume_showproblem.php?problem=1089 题意:给出许多区间,查询某个点所在的区间个数 思路:线段树,由于给出的是区间,查询 ...

  5. Elasticsearch技术解析与实战(六)Elasticsearch并发

    乐观锁与悲观锁 图示的冲突过程,其实就是es的并发冲突问题,会导致数据不准确 当并发操作es的线程越多,或者读取一份数据,供用户查询和操作的时间越长,在这段时间里,如果数据被其他用户修改,那么我们拿到 ...

  6. GridControl详解(三)列数据的格式设置

    为了测试方便,我们加入新的3列,格式分别是数据,时间,字符串.代码增加下列部分: //格式增加 dt.Columns.Add("数据",typeof(decimal)); dt.C ...

  7. 《JavaScript 实战》:实现拖放(Drag & Drop)效果

    拖放效果,也叫拖拽.拖动,学名Drag-and-drop ,是最常见的js特效之一.如果忽略很多细节,实现起来很简单,但往往细节才是难点所在.这个程序的原型是在做图片切割效果的时候做出来的,那时参考了 ...

  8. 利用PhantomJS生成网站截图

    var page = require('webpage').create(); page.open('http://qq.com', function () { page.render('exampl ...

  9. LintCode 406: Minimum Size

    LintCode 406: Minimum Size 题目描述 给定一个由 n 个整数组成的数组和一个正整数 s ,请找出该数组中满足其和 ≥ s 的最小长度子数组.如果无解,则返回 -1. 样例 给 ...

  10. cocos2dx学习,转摘一些链接

    cocos2d-x学习笔记09:动作2:持续动作 ccBezierConfig 贝塞尔坐标点是相对的 Box2DTestBed很有意思的demo,可惜自己水平有限针对其实现还是没弄明白,以后有时间多学 ...