numpy支持比python更多的数据类型_numpy支持比python更多的数据类型_每天五分钟Python数据分析——NumPy 数据类型...

数组类型和类型之间的转换

Numpy支持比Python更多的数据类型。下面所列的数据类型均为 NumPy 内置的数据类型,为了区别于Python原生的数据类型,bool、int、float、complex 等类型名称末尾都加了"_"。

数据类型描述

bool _:布尔(True或False),存储为一个字节

int_ : 默认整数类型(与Clong相同;通常是int64或int32)

intc :相当于 C 的int,通常为int32或int64

intp :intp用于索引的整数,相当于 C 的size_t,通常为int32或int64。

int8 :字节(-128 ~ 127)。

int16 :整数(-32768 ~ 32767)。

int32 : 整数(-2147483648 ~ 2147483647)。

int64 : 整数(-9223372036854775808 ~ 9223372036854775807)。

uint8 :无符号整数(0 ~ 255)。

uint16 :无符号整数(0 ~ 65535)。

uint32 :无符号整数(0 ~ 4294967295)。

uint64 :无符号整数(0 ~ 18446744073709551615)。

float_ :float64的简写。

float16 :半精度浮点:符号位,5位指数,10位尾数。

float32 :单精度浮点数:符号位,8位指数,23位尾数。

float64 :双精度浮点:符号位,11位指数,52位尾数。

complex_ :complex128的简写,即 128 位复数。

complex64 :复数,由两个32位浮点数(实部和虚部)。

complex128 :复数,由两个64位浮点数(实部和虚部)。

Numpy数值类型是dtype(data-type)对象的实例,每个类型具有唯一的特征。

数据类型对象 (dtype)

数据类型对象描述了对应于数组的固定内存块的解释,取决于以下方面:

数据类型:整数、浮点或者 Python 对象。

数据大小:数据类型的存储,如,整数占用多少字节存储。

数据字节顺序:小端或大端。

在结构化类型的情况下,字段的名称,每个字段的数据类型和每个字段占用的内存块部分。

如果数据类型是子序列,它的形状和数据类型。

字节顺序取决于数据类型的前缀""。"

dtype 语法

object:被转换为数据类型的对象。

align:如align=true,则向字段添加间隔,使其类似 C 的结构体。

copy :复制 dtype 对象,生成新副本,如果为flase,则是对内置数据类型对象的引用。

使用数组标量类型

另外,int8, int16, int32, int64 四种数据类型可以使用字符代码"i1", "i2","i4","i8" 代替,如下:

声明字段名称和相应的标量数据类型

如下,展示结构化数据类型的使用,类型字段和对应的实际类型将被创建。

创建Numpy结构型数据,将数据类型dtype应用于 ndarray 对象

如下,创建名为 personal_infor 的 ndarray对象 ,其中包含字符串字段Name,整数字段Age、浮点字段Height, 将此dtype应用于ndarray对象。

代码示例如下:

字符代码

每个内建类型都有一个唯一定义它的字符代码,我们在上面例子中也多次使用了字符代码,具体字符代码映射如下:

b :布尔型

i :有符号整型,‘i1’, ‘i2’, ‘i4’, ‘i8’ 对应 int8, int16, int32, int64。

u :无符号整型,‘u1’, ‘u2’, ‘u4’, ‘u8’ 对应 uint8, uint16, uint32, uint64。

f :浮点型,‘f2’, ‘f4’, ‘f8’ 对应 float16, float32, float64。

c :复数,‘c8’, ‘c16’ 对应 complex64, complex128。

m :timedelta64(时间间隔),本质上是个 int64。

M :datetime64(日期时间)。

O :Python 对象。

S/a :字符串,只能包含 ASCII 码字符,S 或 a 后带数字表示字符串长度,超出部分将被截断,例如 S10、a20。

U :Unicode 字符串,U 后带数字表示字符串长度,超出部分将被截断,例如 U20。

V :bytes 数组,V 后带数字表示数组长度,超出部分将被截断,不足则补零。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值