Numpy之N维数组-ndarray


1 ndarray的属性

数组属性反映了数组本身固有的信息。

属性名字 属性解释
ndarray.shape 数组维度的元组    【假如是8行5列的数组,将会返回(8,5)】
ndarray.ndim 数组维数  【假如是二维数组,将会返回2】
ndarray.size 数组中的元素数量  【如果是8行5列,将会返回40】
ndarray.itemsize 一个数组元素的长度(字节)  【如果元素是(整型)数字,将会返回8】
ndarray.dtype 数组元素的类型  【整型的话,返回:dtype('int64'),有的电脑可能是32】

2 ndarray的形状

首先创建一些数组。

# 创建不同形状的数组
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
b = np.array([1,2,3,4])
c = np.array([[[1,2,3],[4,5,6]],[[1,2,3],[4,5,6]]])

分别打印出形状:

如何理解数组的形状?

二维数组:

三维数组:

【类似于excel中有多个sheet】

3 ndarray的类型

>>> type(score.dtype)<type 'numpy.dtype'>

dtype是numpy.dtype类型,先看看对于数组来说都有哪些类型

名称 描述 简写
np.bool 用一个字节存储的布尔类型(True或False) 'b'
np.int8 一个字节大小,-128 至 127 'i'
np.int16 整数,-32768 至 32767 'i2'
np.int32 整数,-2^31​ 至 2^32 -1 'i4'
np.int64 整数,-2^63 至 2^63 - 1 'i8'
np.uint8 无符号整数,0 至 255 'u'
np.uint16 无符号整数,0 至 65535 'u2'
np.uint32 无符号整数,0 至 2^32 - 1 'u4'
np.uint64 无符号整数,0 至 2^64 - 1 'u8'
np.float16 半精度浮点数:16位,正负号1位,指数5位,精度10位 'f2'
np.float32 单精度浮点数:32位,正负号1位,指数8位,精度23位 'f4'
np.float64 双精度浮点数:64位,正负号1位,指数11位,精度52位 'f8'
np.complex64 复数,分别用两个32位浮点数表示实部和虚部 'c8'
np.complex128 复数,分别用两个64位浮点数表示实部和虚部 'c16'
np.object_ python对象 'O'
np.string_ 字符串 'S'
np.unicode_ unicode类型 'U'

创建数组的时候指定类型

>>> a = np.array([[1, 2, 3],[4, 5, 6]], dtype=np.float32)
>>> a.dtype
dtype('float32')>>> arr = np.array(['python', 'tensorflow', 'scikit-learn', 'numpy'], dtype = np.string_)
>>> arr
array([b'python', b'tensorflow', b'scikit-learn', b'numpy'], dtype='|S12')
  • 注意:若不指定,整数默认int64,小数默认float64

4 总结

数组的基本属性

属性名字 属性解释
ndarray.shape 数组维度的元组
ndarray.ndim 数组维数
ndarray.size 数组中的元素数量
ndarray.itemsize 一个数组元素的长度(字节)
ndarray.dtype 数组元素的类型

Numpy之N维数组-ndarray相关推荐

  1. Python: NumPy中的多维数组ndarray

    转载来源 http://blog.sciencenet.cn/home.php?mod=space&uid=3031432&do=blog&id=1064033 1 Pytho ...

  2. NumPy 创建多维数组

    NumPy 创建多维数组 arange 函数创建的数组作为列表元素,把这个列表作为参数传给 array 函数,从而创建了一个 2 × 2 的数组,而且没有出现任何报错信息. Example 1 #!/ ...

  3. Numpy 笔记: 多维数组的切片(slicing)和索引(indexing)【转】

    目录 切片(slicing)操作 索引(indexing) 操作 最简单的情况 获取多个元素 切片和索引的同异 切片(slicing)操作 Numpy 中多维数组的切片操作与 Python 中 lis ...

  4. numpy获取二维数组某一行、某一列

    numpy获取二维数组某一行.某一列 1.需求 有一个二维数组: a = [[1, 2, 3, 4, 5, 6],[7, 8, 9, 10, 11, 12],[13.2, 14.8, 15.9, 16 ...

  5. Python numpy实现二维数组和一维数组拼接

    撰写时间:2017.5.23 一维数组 1.numpy初始化一维数组 a = np.array([1,2,3]); print a.shape 输出的值应该为(3,) 二维数组 2.numpy初始化二 ...

  6. python一维数组和二维数组,Python numpy实现二维数组和一维数组拼接的方法

    撰写时间:2017.5.23 一维数组 1.numpy初始化一维数组 a = np.array([1,2,3]); print a.shape 输出的值应该为(3,) 二维数组 2.numpy初始化二 ...

  7. 图解数据分析(9) | Numpy - 与1维数组操作(数据科学家入门·完结)

    作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/33 本文地址:https://www.showmeai.tech/article-d ...

  8. 图解数据分析(10) | Numpy - 与2维数组操作(数据科学家入门·完结)

    作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/33 本文地址:https://www.showmeai.tech/article-d ...

  9. python一维数组和二维数组_Python numpy实现二维数组和一维数组拼接的方法

    Python numpy实现二维数组和一维数组拼接的方法 撰写时间:2017.5.23 一维数组 1.numpy初始化一维数组 a = np.array([1,2,3]); print a.shape ...

最新文章

  1. GridView复合多层表头(不限级)!!! (转)
  2. QTP的那些事--不能识别web上的测试对象
  3. mysql存储过程或函数中传入参数与表字段名相同引发的悲剧
  4. easyGUI 用法介绍
  5. java数据库防火墙,数据库centos7防火墙导致java程序访问mongodb3.0.1时报错的问题分析...
  6. 前端学习(2757):text基本使用
  7. linq结果转换object_【JavaScript 教程】标准库—Object 对象
  8. 大数据之Spark教程
  9. 【今日CV 视觉论文速览】28 Nov 2018
  10. c语言比两个人年龄大小,c语言结构体
  11. 我在美团的八年,技术人必读
  12. 字符与ascii的互转
  13. rl滤波器原理_浅谈滤波器原理以及其他基础知识
  14. 【SecureCRT的下载、安装与使用】详细过程
  15. 种子点生长算法下——三维种子点生长
  16. 微型计算机相关的英文文献,微型计算机控制系统(单片机控制系统)外文文献翻译.doc...
  17. python豆瓣电影需研究的问题_Python自定义豆瓣电影种类,排行,点评的爬取与存储(进阶下)...
  18. NFT交易平台2.0来了,源代码,智能合约整套
  19. Instrument 之 time Profiler
  20. 计算机三级网络技术分值占比,大一能考计算机三级吗?计算机三级考试题型分析...

热门文章

  1. 元宵节就要到了,花灯要不要来一盏?3D的那种
  2. 又一起“删库”:链家程序员怒删公司 9TB 数据,被判 7 年
  3. CSDN湘苗培优|高起点步入职场,快人一步!
  4. AI芯片行业发展的来龙去脉
  5. 31页PPT概述:图神经网络表达能力有多强?
  6. 假期快乐!超强面试资源等你Pick,先收藏!
  7. 阿里发布新工具,直接帮你改代码!网友:工作量又减轻了~
  8. 漫画 | 上班第一天,前端把后端告上县衙,还列了 5 宗罪!
  9. Netty、Kafka中的零拷贝技术到底有多牛?
  10. Spring Cloud第十四篇: 服务注册(consul)