Lesson3——NumPy 数据类型
NumPy 教程目录
NumPy 数据类型
numpy 支持的数据类型比 Python 内置的类型要多很多,基本上可以和 C 语言的数据类型对应上,其中部分类型对应为 Python 内置的类型。
下表列举了常用 NumPy 基本类型。
| 名称 | 描述 |
|---|---|
| bool_ | 布尔型数据类型(True 或者 False) |
| int_ | 默认的整数类型(类似于 C 语言中的 long,int32 或 int64) |
| intc | 与 C 的 int 类型一样,一般是 int32 或 int 64 |
| intp | 用于索引的整数类型(类似于 C 的 ssize_t,一般情况下仍然是 int32 或 int64) |
| int8 | 字节(-128 to 127) |
| int16 | 整数(-32768 to 32767) |
| int32 | 整数(-2147483648 to 2147483647) |
| int64 | 整数(-9223372036854775808 to 9223372036854775807) |
| uint8 | 无符号整数(0 to 255) |
| uint16 | 无符号整数(0 to 65535) |
| uint32 | 无符号整数(0 to 4294967295) |
| uint64 | 无符号整数(0 to 18446744073709551615) |
| float_ | float64 类型的简写 |
| float16 | 半精度浮点数,包括:1 个符号位,5 个指数位,10 个尾数位 |
| float32 | 单精度浮点数,包括:1 个符号位,8 个指数位,23 个尾数位 |
| float64 | 双精度浮点数,包括:1 个符号位,11 个指数位,52 个尾数位 |
| complex_ | complex128 类型的简写,即 128 位复数 |
| complex64 | 复数,表示双 32 位浮点数(实数部分和虚数部分) |
| complex128 | 复数,表示双 64 位浮点数(实数部分和虚数部分) |
numpy 的数值类型实际上是 dtype 对象的实例,并对应唯一的字符,包括 np.bool_,np.int32,np.float32,等等。
数据类型对象 (dtype)
数据类型对象(numpy.dtype 类的实例)用来描述与数组对应的内存区域是如何使用,它描述了数据的以下几个方面::
- 数据的类型(整数,浮点数或者 Python 对象)
- 数据的大小(例如, 整数使用多少个字节存储)
- 数据的字节顺序(小端法或大端法)
- 在结构化类型的情况下,字段的名称、每个字段的数据类型和每个字段所取的内存块的部分
- 如果数据类型是子数组,那么它的形状和数据类型是什么。
字节顺序是通过对数据类型预先设定 < 或 > 来决定的。 < 意味着小端法(最小值存储在最小的地址,即低位组放在最前面)。> 意味着大端法(最重要的字节存储在最小的地址,即高位组放在最前面)。
numpy.dtype 对象是使用以下语法构造的:
numpy.dtype(dtype, align=False, copy=False)
See also
Examples:
np.result_type(3, np.arange(7, dtype='i1'))
#dtype('int8') np.result_type('i4', 'c8')
#dtype('complex128') np.result_type(3.0, -2)
#dtype('float64')
使用 Numpy 数据类型的例子:
Examples1:
dt = np.dtype(np.int32)
print(dt)
#int32
Examples2:
# int8, int16, int32, int64 四种数据类型可以使用字符串 'i1', 'i2','i4','i8' 代替
dt = np.dtype('i4')
print(dt)
#int32
Examples3: 字节顺序标注
dt = np.dtype('<i4')
dt
#dtype('int32')
Examples4:使用内建类型到 np.array() 上。
dt = np.dtype('i4')
print(dt)
arr = np.array([1,2,3],dtype = dt)
print(arr)
int32
[1 2 3]
Examples5:初始结构化类型
dt = np.dtype([('age',np.int8)])
dt
dtype([('age', 'i1')])
Examples6:应用结构化类型(单个类型)
dt = np.dtype([('age',np.int8)])
a = np.array([(1,),(2,),(3,),(4,)],dtype= dt)
print(a)
print(a['age'])
[(1,) (2,) (3,) (4,)]
[1 2 3 4]
Examples7:应用结构化类型(多个类型)
dt = np.dtype([('name','S20'),('age','i1')])
print(dt)
arr = np.array([('Blair1',21),
('Blair2',22),
('Blair3',23),])
print(arr)
[('name', 'S20'), ('age', 'i1')]
[['Blair1' '21']
['Blair2' '22']
['Blair3' '23']]
每个内建类型都有一个唯一定义它的字符代码,如下:
| 字符 | 对应类型 |
|---|---|
| b | 布尔型 |
| i | (有符号) 整型 |
| u | 无符号整型 integer |
| f | 浮点型 |
| c | 复数浮点型 |
| m | timedelta(时间间隔) |
| M | datetime(日期时间) |
| O | (Python) 对象 |
| S, a | (byte-)字符串 |
| U | Unicode |
| V | 原始数据 (void) |
Lesson3——NumPy 数据类型的更多相关文章
- Numpy 数据类型和基本操作
Numpy 数据类型 bool 用一位存储的布尔类型(值为TRUE或FALSE) inti 由所在平台决定其精度的整数(一般为int32或int64) int8 整数,范围为128至127 int1 ...
- NumPy数据类型
NumPy - 数据类型 NumPy 支持比 Python 更多种类的数值类型. 下表显示了 NumPy 中定义的不同标量数据类型. 序号 数据类型及描述 1. bool_存储为一个字节的布尔值(真或 ...
- numpy 数据类型与 Python 原生数据类型
查看 numpy 数据类型和 Python 原生数据类型之间的对应关系: In [51]: dict([(d, type(np.zeros(1,d).tolist()[0])) for d in (n ...
- 2、NumPy 数据类型
1.NumPy 数据类型 numpy 支持的数据类型比 Python 内置的类型要多很多,基本上可以和 C 语言的数据类型对应上,其中部分类型对应为 Python 内置的类型.下表列举了常用 NumP ...
- Numpy 数据类型
numpy支持的数据类型比Python内置的类型多很多,基本上可以和C语言的数据类型对应上, 其中部分类型对应为Python内置的类型.下表列举了常用的Numpy基本类型. 名称 描述 bool_ 布 ...
- Numpy数据类型转化astype,dtype
1. 查看数据类型 import numpy as np arr = np.array([1,2,3,4,5]) print(arr) [1 2 3 4 5] # dtype用来查看数据类型 arr. ...
- 吴裕雄--天生自然Numpy库学习笔记:NumPy 数据类型
下表列举了常用 NumPy 基本类型. 名称 描述 bool_ 布尔型数据类型(True 或者 False) int_ 默认的整数类型(类似于 C 语言中的 long,int32 或 int64) i ...
- numpy数据类型dtype转换
这篇文章我们玩玩numpy的数值数据类型转换 导入numpy >>> import numpy as np 一.随便玩玩 生成一个浮点数组 >>> a = np.r ...
- NumPy 教程目录
NumPy 教程目录 1 Lesson1--NumPy NumPy 安装 2 Lesson2--NumPy Ndarray 对象 3 Lesson3--NumPy 数据类型 4 Lesson4--Nu ...
随机推荐
- 为什么我的 WordPress 网站被封了?
今年以来,一系列 "清朗" "护苗" "净网" 专项整治行动重拳出击,"清朗·春节网络环境"取消备案网站平台2300余家 ...
- 编写Java程序,观察类启动时静态代码块和main()的执行顺序
返回本章节 返回作业目录 需求说明: 观察类启动时静态代码块和main()的执行顺序 在Book类中定义静态代码块. 在Book中分别定义一个普通实例方法和静态方法. 在Book类的静态代码块中调用静 ...
- 图像数据到网格数据-3——实现Cuberille算法
前言 这是本博客网格生成算法系列的第三篇,第一篇里面介绍了最为流行的MarchingCubes算法,第二篇中使用新三角形表来对MC算法进行了简化改进,形成了SMC算法.而这篇将介绍一种新的不同与MC算 ...
- CSS基础 overflow 内容溢出部分显示效果
属性:overflow 值 作用 visible 默认,内容溢出部分可见 hidden 内容溢出部分不可见 scroll 内容有无溢出,都有滚动条 auto 有内容溢出,自动显示滚动条
- java字符串比较是否都可直接使用==?
java字符串比较,两个字符串相不相等,直接用==来判断可以吗?或者判断两个字符串不相等,直接用!=? 不能 两个对象进行比较,如果使用==符号,那么比较的是这两个对象的"引用"( ...
- git 生成忽略文件
一.在.git的同级目录下打开git bash 二.在命令行输入 三.在生成的文件中添加忽略提交的文件夹名称 来自为知笔记(Wiz)
- 一文搞定 Windows Terminal 设置与 zsh 安装 (非WSL)
为 Windows Terminal 添加标签页 添加 Anaconda 标签页 在settings.json文件中的list列表中添加设置项: { // Make changes here to t ...
- test_1 计算字符串最后一个单词的长度,单词以空格隔开
题目描述:计算字符串最后一个单词的长度,单词以空格隔开. 输入描述: 一行字符串,非空,长度小于5000. 输出描述: 整数N,最后一个单词的长度. #coding=utf-8 str = raw_ ...
- Docsify使用指南(打造最快捷、最轻量级的个人&团队文档)
前言 网上关于动态文档生成工具有很多如:Docsify. VuePress.Docute .Hexo这些都是一些非常优秀的文档生成工具,本章主要介绍如何快速使用Docsify搭建一个快捷.轻量级的个人 ...
- python极简教程08:对象的方法
测试奇谭,BUG不见. 讲解之前,我先说说我的教程和网上其他教程的区别: 1 我分享的是我在工作中高频使用的场景,是精华内容: 2 我分享的是学习方法,亦或说,是指明你该学哪些.该重点掌握哪些内容: ...