Numpy narray对象的属性分析
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对象的属性分析的更多相关文章
- 3.1Python数据处理篇之Numpy系列(一)---ndarray对象的属性与numpy的数据类型
目录 目录 (一)简单的数组创建 1.numpy的介绍: 2.numpy的数组对象ndarray: 3.np.array(list/tuple)创建数组: (二)ndarray对象的属性 1.五个常用 ...
- C# Exception 对象的属性
关于 C# 中 Exception 对象的属性,在程序出现异常时,需要记录异常的信息,并把信息保存起来或输出,以方便准确定位异常的根源,以下是 Exception 对象的属性 名称 ...
- 你好,C++(38)从问题描述中发现对象的属性和行为 6.4 工资程序成长记:类与对象(上)
6.4 工资程序成长记:类与对象 “夜半三更哟,盼天明:寒冬腊月哟,盼春风.若要盼得哟,涨工资,岭上……”自从上次老板许诺给小陈涨工资以后,一转眼又过去几个月了,可是涨工资的事一点动静都没有.小陈只 ...
- JS中的RegExp对象常用属性和方法
JavaScript提供了一个RegExp对象来完成有关正则表达式的操作和功能,每一条正则表达式模式对应一个RegExp实例.有两种方式可以创建RegExp对象的实例. 使用RegExp的显式构造函数 ...
- 非常易于理解‘类'与'对象’ 间 属性 引用关系,暨《Python 中的引用和类属性的初步理解》读后感
关键字:名称,名称空间,引用,指针,指针类型的指针(即指向指针的指针) 我读完后的理解总结: 1. 我们知道,python中的变量的赋值操作,变量其实就是一个名称name,赋值就是将name引用到一个 ...
- numpy 数组对象
numpy 数组对象NumPy中的ndarray是一个多维数组对象,该对象由两部分组成:实际的数据,描述这些数据的元数据# eg_v1 import numpy as np a = np.arange ...
- OpenCV中图像的BGR格式及Img对象的属性说明
1. 图像的BGR格式说明 OpenCV中图像读入的数据格式是numpy的ndarray数据格式.是BGR格式,取值范围是[0,255]. 如下图所示,分为三个维度: 第一维度:Height 高度,对 ...
- js中 对象名.属性名和对象名['属性名']的区别,.和[]的区别
对象中的对象名[ ' 属性名 ' ] 和 对象名.属性名的区别 话不多少,上图分析,菜鸟刚学几个月,如有错误,欢迎大佬们指出 这里是很显而易见的! 然后我们用for in 对他进行遍历,他的区别就出来 ...
- 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 ...
随机推荐
- 最近公共祖先(LCA)(题目)
Time Limit: 2000 ms Memory Limit: 256 MB Description Input Output Sample Input 15 5 1 2 3 4 5 6 7 8 ...
- Tornado----自定义异步非阻塞Web框架:Snow
Python的Web框架中Tornado以异步非阻塞而闻名.本篇将使用200行代码完成一个微型异步非阻塞Web框架:Snow. 一.源码 本文基于非阻塞的Socket以及IO多路复用从而实现异步非阻塞 ...
- Python数据生成pdf文件
sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campai ...
- 深度学习voc数据集图片resize
本人新写的3个pyhton脚本. (1)单张图片的resize: # coding = utf-8 import Image def convert(width,height): im = Image ...
- Drools规则引擎环境搭建
Drools 是一款基于Java 的开源规则引擎,所以在使用Drools 之前需要在开发机器上安装好JDK 环境,Drools5 要求的JDK 版本要在1.5 或以上. Drools5 提供了一个基于 ...
- [吴恩达机器学习笔记]12支持向量机5SVM参数细节
12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.5 SVM参数细节 标记点选取 标记点(landma ...
- JVM学习二:JVM之类加载器之加载分析
前面一遍,我们对类的加载有了一个整体的认识,而这一节我们细节分析一下类加载器的第一步,即:加载. 一.概念 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区 ...
- each()和eq()
今天工作的时候要遍历一个表格,于是我就想到了each(),也没看文档就开始写,大概是这么写的 $(".class").each(function(){ this.click(fun ...
- java-jdbc-mysql:实现数据库表的增删改查
以数据库test下数据表student(sno,sname,ssex,sage,sdept)为例: student表中的已有的所有记录:
- C# 实现java中 wiat/notify机制
最近在学习java,看到wiat/notify机制实现线程通信,由于平时工作用的C#,赶紧用C#方式实现一个demo. Java 代码: import java.util.ArrayList; imp ...