python-Numpy学习之(一)ndim、shape、dtype、astype的用法

python-Numpy学习之(一)ndim、shape、dtype、astype的用法python-Numpy学习之(一)ndim、shape、dtype、astype的用法参考网址:https://blog.csdn.net/Da_wan/article/details/80518725本文介绍numpy数组中这四个方法的区别ndim、shape、dtype、astype。1.ndimndim返回的是数组的维度,返回的只有一个数,该数即表示数组的维度。2….

大家好,又见面了,我是你们的朋友全栈君。

python-Numpy学习之(一)ndim、shape、dtype、astype的用法

参考网址:https://blog.csdn.net/Da_wan/article/details/80518725

本文介绍numpy数组中这四个方法的区别ndim、shape、dtype、astype。

1.ndim

python-Numpy学习之(一)ndim、shape、dtype、astype的用法

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

2.shape

python-Numpy学习之(一)ndim、shape、dtype、astype的用法

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

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

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

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

python-Numpy学习之(一)ndim、shape、dtype、astype的用法

先看最外面的中括号,包含[[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

python-Numpy学习之(一)ndim、shape、dtype、astype的用法

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

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

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

4.astype

python-Numpy学习之(一)ndim、shape、dtype、astype的用法

astype:转换数组的数据类型。

int32 –> float64        完全ojbk

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

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

python-Numpy学习之(一)ndim、shape、dtype、astype的用法

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

 

以上是这四个方法的简单用法,之后若有什么新发现再做补充。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/130326.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • php开发APP接口(总结一)

    php开发APP接口(总结一)

    2021年11月7日
    44
  • zookeeper下载及安装教程_Zookeeper未授权访问漏洞

    zookeeper下载及安装教程_Zookeeper未授权访问漏洞学习黑马传智健康项目过程中,zookeeper的下载与安装

    2022年10月24日
    1
  • python sendfile_sendfile详解(转)[通俗易懂]

    python sendfile_sendfile详解(转)[通俗易懂]在apache,nginx,lighttpd等web服务器当中,都有一项sendfile相关的配置,在一些网上的资料都有谈到sendfile会提升文件传输性能,那sendfile到底是什么呢?它的原理又是如何呢?在传统的文件传输里面(read/write方式),在实现上其实是比较复杂的,需要经过多次上下文的切换,我们看一下如下两行代码:read(file,tmp_buf,len);write(…

    2022年6月6日
    90
  • 字符串的匹配算法_多字符串匹配

    字符串的匹配算法_多字符串匹配文章目录BF算法RK算法编辑器中的全局替换方法:BM算法坏字符好后缀规则代码实现KMP算法一说到字符串匹配算法,不知道会有多少小伙伴不由自主的想起那个kmp算法呢?想到是很正常的,谁让它那么优秀呢。BF算法不要被事物的表面现象所迷惑,这个算法全称:BruteForce,有个拉风的中文名:暴力匹配算法。能想明白了吧。如果模式串长度为m,主串长度为n,那在主串中,就会有n-m+1个长度为m的子串,我们只需要暴力地对比这n-m+1个子串与模式串,就可以找出主串与模式串匹配的子串。.

    2022年8月21日
    3
  • 哈佛大学幸福课笔记二

    哈佛大学幸福课笔记二Ifwefocusonwhatisworking,we’llhavemoreworkinginourworld.如果我们在集中研究起作用的,它就会在世界上起更大的作用。Theaimofpositivepsychologyistoca

    2022年7月18日
    15
  • [转]软件开发工作量/费用估算

    [转]软件开发工作量/费用估算软件开发工作量/费用估算2018-05-0308:39:20 NOW_wyp软件开发工作量/费用估算2018-05-0308:39:20 NOW_wyp软件开发工作量/

    2022年7月3日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号