文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
基本的数组属性
有了我们对NumPy多维数组的理解后,我们现在来了解一些使用代码来查看数组属性(例如维度)的方法吧。理解数组的“形状”(shape)是什么极其重要。
我们将使用以下的数组来进行讨论:
>>> import numpy as np >>> example_array = np.array([[[ 0, 1, 2, 3], ... [ 4, 5, 6, 7]], ... ... [[ 8, 9, 10, 11], ... [12, 13, 14, 15]], ... ... [[16, 17, 18, 19], ... [20, 21, 22, 23]]])
根据之前的讨论,这是一个有着一下结构的3维数组:
轴0描述从3页中选中哪一个。
轴1描述从任何一页中的2行中选中哪一个。
轴2描述从任何一页和行中的4列中选中哪一个。
ndarray.ndim:
数组的轴(维度)数。
# 数组的维度 >>> example_array.ndim 3
ndarray.shape:
成员为代表数组每个维度的项目数量的整数元组。如果一个2维数组有着 \(N\) 行和 \(M\) 列,那么形状将是 \((N, M)\)。所以这个形状元组的长度等于数组的维度。
# 数组的形状 >>> example_array.shape (3, 2, 4)
ndarray.size:
这个数组总共的成员数。这等于数组形状的每个数的乘积。
# 数组的大小:数组中存了多少个成员 >>> example_array.size 24
ndarray.dtype:
描述数组成员的数据类型的对象。请回忆,NumPy的N维数组都是同质(homogenous)的:它们只能拥有同样数据类型的数字。
# `example_array` 存储整数。每个整数使用32比特(bit)的内存 >>> example_array.dtype dtype('int32')
ndarray.itemsize:
数组每个成员的大小,单位是字节(byte)(1字节等于8比特)。比如说,类型为 float64
的数组的itemsize就是8 \((= \frac{64}{8})\),而类型为 complex32
的数组的itemsize就是4 \((= \frac{32}{8})\)。
# `example_array` 的每个整数占用4字节(32比特)的内存 >>> example_array.itemsize 4
官方说明文档链接
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论