NumPy数据类型
NumPy - 数据类型
NumPy 支持比 Python 更多种类的数值类型。 下表显示了 NumPy 中定义的不同标量数据类型。
| 序号 | 数据类型及描述 |
|---|---|
| 1. | bool_存储为一个字节的布尔值(真或假) |
| 2. | int_默认整数,相当于 C 的long,通常为int32或int64 |
| 3. | intc相当于 C 的int,通常为int32或int64 |
| 4. | intp用于索引的整数,相当于 C 的size_t,通常为int32或int64 |
| 5. | int8字节(-128 ~ 127) |
| 6. | int1616 位整数(-32768 ~ 32767) |
| 7. | int3232 位整数(-2147483648 ~ 2147483647) |
| 8. | int6464 位整数(-9223372036854775808 ~ 9223372036854775807) |
| 9. | uint88 位无符号整数(0 ~ 255) |
| 10. | uint1616 位无符号整数(0 ~ 65535) |
| 11. | uint3232 位无符号整数(0 ~ 4294967295) |
| 12. | uint6464 位无符号整数(0 ~ 18446744073709551615) |
| 13. | float_float64的简写 |
| 14. | float16半精度浮点:符号位,5 位指数,10 位尾数 |
| 15. | float32单精度浮点:符号位,8 位指数,23 位尾数 |
| 16. | float64双精度浮点:符号位,11 位指数,52 位尾数 |
| 17. | complex_complex128的简写 |
| 18. | complex64复数,由两个 32 位浮点表示(实部和虚部) |
| 19. | complex128复数,由两个 64 位浮点表示(实部和虚部) |
NumPy 数字类型是dtype(数据类型)对象的实例,每个对象具有唯一的特征。 这些类型可以是np.bool_,np.float32等。
数据类型对象 (dtype)
数据类型对象描述了对应于数组的固定内存块的解释,取决于以下方面:
数据类型(整数、浮点或者 Python 对象)
数据大小
字节序(小端或大端)
在结构化类型的情况下,字段的名称,每个字段的数据类型,和每个字段占用的内存块部分。
如果数据类型是子序列,它的形状和数据类型。
字节顺序取决于数据类型的前缀<或>。<意味着编码是小端(最小有效字节存储在最小地址中)。>意味着编码是大端(最大有效字节存储在最小地址中)。
dtype可由一下语法构造:
numpy.dtype(object, align, copy)
参数为:
Object:被转换为数据类型的对象。
Align:如果为true,则向字段添加间隔,使其类似 C 的结构体。
Copy? 生成dtype对象的新副本,如果为flase,结果是内建数据类型对象的引用。
示例 1
# 使用数组标量类型
import numpy as np
dt = np.dtype(np.int32)
print dt
输出如下:
int32
示例 2
#int8,int16,int32,int64 可替换为等价的字符串 'i1','i2','i4',以及其他。
import numpy as np dt = np.dtype('i4')
print dt
输出如下:
int32
示例 3
# 使用端记号
import numpy as np
dt = np.dtype('>i4')
print dt
输出如下:
>i4
下面的例子展示了结构化数据类型的使用。 这里声明了字段名称和相应的标量数据类型。
示例 4
# 首先创建结构化数据类型。
import numpy as np
dt = np.dtype([('age',np.int8)])
print dt
输出如下:
[('age', 'i1')]
示例 5
# 现在将其应用于 ndarray 对象
import numpy as np dt = np.dtype([('age',np.int8)])
a = np.array([(10,),(20,),(30,)], dtype = dt)
print a
输出如下:
[(10,) (20,) (30,)]
示例 6
# 文件名称可用于访问 age 列的内容
import numpy as np dt = np.dtype([('age',np.int8)])
a = np.array([(10,),(20,),(30,)], dtype = dt)
print a['age']
输出如下:
[10 20 30]
示例 7
以下示例定义名为 student 的结构化数据类型,其中包含字符串字段name,整数字段age和浮点字段marks。 此dtype应用于ndarray对象。
import numpy as np
student = np.dtype([('name','S20'), ('age', 'i1'), ('marks', 'f4')])
print student
输出如下:
[('name', 'S20'), ('age', 'i1'), ('marks', '<f4')])
示例 8
import numpy as np
student = np.dtype([('name','S20'), ('age', 'i1'), ('marks', 'f4')])
a = np.array([('abc', 21, 50),('xyz', 18, 75)], dtype = student)
print a
输出如下:
[('abc', 21, 50.0), ('xyz', 18, 75.0)]
每个内建类型都有一个唯一定义它的字符代码:
'b':布尔值
'i':符号整数
'u':无符号整数
'f':浮点
'c':复数浮点
'm':时间间隔
'M':日期时间
'O':Python 对象
'S', 'a':字节串
'U':Unicode
'V':原始数据(void)
NumPy数据类型的更多相关文章
- Numpy 数据类型和基本操作
Numpy 数据类型 bool 用一位存储的布尔类型(值为TRUE或FALSE) inti 由所在平台决定其精度的整数(一般为int32或int64) int8 整数,范围为128至127 int1 ...
- 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 ...
- Lesson3——NumPy 数据类型
NumPy 教程目录 NumPy 数据类型 numpy 支持的数据类型比 Python 内置的类型要多很多,基本上可以和 C 语言的数据类型对应上,其中部分类型对应为 Python 内置的类型. 下表 ...
- 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 超详细教程(2):数据类型
系列文章地址 NumPy 最详细教程(1):NumPy 数组 NumPy 超详细教程(2):数据类型 NumPy 超详细教程(3):ndarray 的内部机理及高级迭代 文章目录 NumPy 数据类型 ...
随机推荐
- vs2008 怎么在Release下调试代码
vs2008 怎么在Release下调试代码 (适用VS2005/VS2008) 在当前工程点击右键选择properties,选择 All Configurations C++>General- ...
- PAT 1017 Queueing at Bank (模拟)
1017. Queueing at Bank (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Supp ...
- python中获取字典的key列表和value列表
# -*- coding: utf-8 -*- # 定义一个字典 dic = {'剧情': 11, '犯罪': 10, '动作': 8, '爱情': 3, '喜剧': 2, '冒险': 2, '悬疑' ...
- Golang Frameworks
Web frameworks help developers build applications as easily and quickly as possible. Go is still rel ...
- php 图片验证码
1.原理 数组中每个图片对应一个值->随机值->获取并保存到$_SESSION中,->获取随机值对应的图片,->通过__FILE__输出图片,->浏览器验证 2.代码 c ...
- root Permission denied
w 遇见现象,原因待查
- PHP 防止恶意用户快速刷新页面
<?php /** * 防止快速刷新 * */ session_start(); header("Content-type:text/html;charset=utf-8") ...
- Scala 常用语法
Clojure首先是FP, 但是由于基于JVM, 所以不得已需要做出一些妥协, 包含一些OO的编程方式 Scala首先是OO, Java语法过于冗余, 一种比较平庸的语言, Scala首先做的是简化, ...
- redis中默认有多少个哈希槽?
Redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余 ...
- git rm与直接rm的区别
git rm 行为: 1.删除一个文件 2.将被删除的这个文件纳入缓存区 $ git rm a rm 'a' $ git status On branch master Changes to be c ...