Python数据分析(4)-numpy数组的属性操作1. ndarray的属性2. ndarray元素的属性3. ndarray元素的类型
2021/7/9 12:06:59
本文主要是介绍Python数据分析(4)-numpy数组的属性操作1. ndarray的属性2. ndarray元素的属性3. ndarray元素的类型,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
numpy数组也就是ndarray,它的本质是一个对象,那么一定具有一些对象描述的属性,同时,它还有元素,其元素也有一些属性。本节主要介绍ndarray以及其元素的属性和属性的操作。
1. ndarray的属性
ndarray有两个属性:维度(ndim)和每个维度的大小shape(也就是每个维度元素的个数)
import numpy as np a = np.arange(24) a.shape=(2,3,4) print('数组为:', a) print('数组的维度:', a.ndim) print('数组维度的大小',a.shape)
输出: 数组为: [[[ 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 数组维度的大小 (2, 3, 4) [/code] 对于ndarray数组的属性的操作只能操作其shape,也就是每个维度的个数,同时也就改变了维度(shape是一个元组,它的长度就是维度(ndim)),下面介绍两种改变数组shape的方式: ```code import numpy as np a = np.arange(24) a.shape=(2,3,4) # a.shape=(4,6),直接对a进行操作 a.shape = (4,6) print('a:',a) #a.reshape(3,8)是返回一个修改后维度大小的新数组,不会修改原来的数组a b = a.reshape(3,8) print('b:',b) [/code] ```code 输出: a: [[ 0 1 2 3 4 5] [ 6 7 8 9 10 11] [12 13 14 15 16 17] [18 19 20 21 22 23]] b: [[ 0 1 2 3 4 5 6 7] [ 8 9 10 11 12 13 14 15] [16 17 18 19 20 21 22 23]] [/code] **notes:** 1.对shape直接赋值的方式是修改原数组的属性,没有返回新的数组。reshape的方式不会修改原数组的属性,一定会返回一个新的数 组。 2. 修改属性的时候,属性元素之和一定要等于数组的元素之和,例如原数组有24个元素,则属性只能修改为:一维:(24,)二维:(2,12)、(3,8)、(4,6),三维:(2,3,4),四维:(2,3,2,2)等 # 2. ndarray元素的属性 1. 单个元素所占存储的字节数:itemsize 2. 其他属性:flags ![这里写图片描述](https://img- blog.csdn.net/20180712094459371?) ```code import numpy as np a = np.arange(24) a.shape=(2,3,4) print('单个元素所占字节数:',a.itemsize) print('元素其他属性:',a.flags) [/code] ```code 输出: 单个元素所占字节数: 4 元素其他属性: C_CONTIGUOUS : True F_CONTIGUOUS : False OWNDATA : True WRITEABLE : True ALIGNED : True WRITEBACKIFCOPY : False UPDATEIFCOPY : False [/code] # 3. ndarray元素的类型 ```code import numpy as np a = np.arange(24) a.shape=(2,3,4) print('元素的类型',a.dtype) # 对dtype直接复制是直接在原数组上修改的方式 a.dtype= 'float32' print('修改后的元素的类型',a.dtype) # astype不会修改原数组的类型,会返回一个新的数组 b=a.astype('int32') print('修改后a的元素的类型',a.dtype) print('修改后b的元素的类型',b.dtype) [/code] ```code 元素的类型 int32 修改后的元素的类型 float32 修改后a的元素的类型 float32 修改后b的元素的类型 int32 [/code] **notes:** 注意dtype直接复制与astype的区别 ![在这里插入图片描述](https://www.www.zyiz.net/i/ll/?i=20210608151750993.gif)
这篇关于Python数据分析(4)-numpy数组的属性操作1. ndarray的属性2. ndarray元素的属性3. ndarray元素的类型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-25Python编程基础:变量与类型
- 2024-11-25Python编程基础与实践
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器