NJU1healer的个人博客分享 http://blog.sciencenet.cn/u/NJU1healer

博文

Python中的size,shape,len,count与Numpy中ndim、dtype、astype

已有 5932 次阅读 2020-8-21 12:42 |个人分类:Python|系统分类:科研笔记

(一)size,shape,len,count

len():返回对象的长度
比如len([1,2,3]),返回值为3

count():计算包含对象个数
比如[1,1,1,2].count(1),返回值为3


sum():做一个和运算
比如sum([1,2,3]),返回值为6


size()和shape () 是numpy模块中才有的函数

size()函数是返回分组大小的Series。

size():计算数组和矩阵所有数据的个数 

a = np.array([[1,2,3],[4,5,6]]) 
np.size(a),返回值为 6 
np.size(a,1),返回值为 3


shape ():得到矩阵每维的大小 
np. shape (a),返回值为 (2,3)


另外要注意的是,shape和size既可以作为函数,也可以作为ndarray的属性 
a.size,返回值为 6, 
a.shape,返回值为 (2,3)


(二)Numpy中ndim、dtype、astype区别

1.ndim

image.png

ndim返回的是数组的维度,返回的只有一个数,该数即表示数组的维度。

2.shape

image.png

shape:表示各位维度大小的元组。返回的是一个元组

对于一维数组:有疑问的是为什么不是(1,6),因为arr1.ndim维度为1,元组内只返回一个数。

对于二维数组:前面的是行,后面的是列,他的ndim为2,所以返回两个数。

对于三维数组:很难看出,下面打印arr3,看下它是什么结构。


先看最外面的中括号,包含[[1,2,3],[4,5,6]]和[[7,8,9],[10,11,12]],假设他们为数组A、B,就得到[A,B],如果A、B仅仅是一个数字,他的ndim就是2,这就是第一个数。但是A、B是(2,3)的数组。所以结合起来,这就是arr3的shape,为(2,2,3)。

将这种方法类比,也就可以推出4维、5维数组的shape。

3.dtype

image.png

dtype:一个用于说明数组数据类型的对象。返回的是该数组的数据类型由于图中的数据都为整形,所以返回的都是int32。如果数组中有数据带有小数点,那么就会返回float64

有疑问的是:整形数据不应该是int吗?浮点型数据不应该是float吗?

解答:int32、float64是Numpy库自己的一套数据类型

4.astype

image.png

astype:转换数组的数据类型

int32 --> float64        完全ok

float64 --> int32        会将小数部分截断

string_ --> float64        如果字符串数组表示的全是数字,也可以用astype转化为数值类型

image.png

注意:其中的float,它是python内置的类型,但是Numpy可以使用。Numpy会将Python类型映射到等价的dtype上。


点滴分享,福泽你我!Add oil!

【参考】

https://blog.csdn.net/erinapple/article/details/80302742

https://blog.csdn.net/Da_wan/article/details/80518725



https://blog.sciencenet.cn/blog-3428464-1247286.html

上一篇:Python中在根目录下导入不同文件夹下脚本中的函数
下一篇:Python matplotlib quiver—画箭头、风场、量场图
收藏 IP: 211.162.81.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

全部作者的其他最新博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-26 01:32

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部