python numpy dtype object_关于Numpy数据类型对象(dtype)使用详解

python numpy dtype object_关于Numpy数据类型对象(dtype)使用详解常用方法#记住引入numpy时要是用别名np,则所有的numpy字样都要替换#查询数值类型>>>type(float)dtype(‘float64’)#查询字符代码>>>dtype(‘f’)dtype(‘float32’)>>>dtype(‘d’)dtype(‘float64’)#查询双字符代码>>>dtype(‘f…

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

常用方法

#记住引入numpy时要是用别名np,则所有的numpy字样都要替换

#查询数值类型

>>>type(float)

dtype(‘float64’)

# 查询字符代码

>>> dtype(‘f’)

dtype(‘float32’)

>>> dtype(‘d’)

dtype(‘float64’)

# 查询双字符代码

>>> dtype(‘f8’)

dtype(‘float64’)

# 获取所有字符代码

>>> sctypeDict.keys()

[0, … ‘i2’, ‘int0’]

# char 属性用来获取字符代码

>>> t = dtype(‘Float64’)

>>> t.char

‘d’

# type 属性用来获取类型

>>> t.type

# str 属性获取完整字符串表示

# 第一个字符是字节序,< 表示小端,> 表示大端,| 表示平台的字节序

>>> t.str

# 获取大小

>>> t.itemsize

8

# 许多函数拥有 dtype 参数

# 传入数值类型、字符代码和 dtype 都可以

>>> arange(7, dtype=uint16)

array([0, 1, 2, 3, 4, 5, 6], dtype=uint16)

类型参数及缩写

类型

字符代码

bool

?, b1

int8

b, i1

uint8

B, u1

int16

h, i2

uint16

H, u2

int32

i, i4

uint32

I, u4

int64

q, i8

uint64

Q, u8

float16

f2, e

float32

f4, f

float64

f8, d

complex64

F4, F

complex128

F8, D

str

a, S(可以在S后面添加数字,表示字符串长度,比如S3表示长度为三的字符串,不写则为最大长度)

unicode

U

object

O

void

V

自定义异构数据类型

基本书写格式

import numpy

#定义t的各个字段类型

>>> t = dtype([(‘name’, str, 40), (‘numitems’, numpy.int32), (‘price’,numpy.float32)])

>>> t

dtype([(‘name’, ‘|S40’), (‘numitems’, ‘

# 获取字段类型

>>> t[‘name’]

dtype(‘|S40’)

# 使用记录类型创建数组

# 否则它会把记录拆开

>>> itemz = array([(‘Meaning of life DVD’, 42, 3.14), (‘Butter’, 13,2.72)], dtype=t)

>>> itemz[1]

(‘Butter’, 13, 2.7200000286102295)

#再举个例*

>>>adt = np.dtype(“a3, 3u8, (3,4)a10”) #3字节字符串、3个64位整型子数组、3*4的10字节字符串数组,注意8为字节

>>>itemz = np.array([(‘Butter’,[13,2,3],[[‘d’,’o’,’g’,’s’],[‘c’,’a’,’t’,’s’],[‘c’,’o’,’w’,’s’]])],dtype=adt)

>>>itemz

(b’But’, [13, 2, 3], [[b’d’, b’o’, b’g’, b’s’], [b’c’, b’a’, b’t’, b’s’], [b’c’, b’o’, b’w’, b’s’]])

其他书写格式

#(flexible_dtype, itemsize)第一个大小不固定的参数类型,第二传入大小:

>>> dt = np.dtype((void, 10)) #10位

>>> dt = np.dtype((str, 35)) # 35字符字符串

>>> dt = np.dtype((‘U’, 10)) # 10字符unicode string

#(fixed_dtype, shape)第一个传入固定大小的类型参数,第二参数传入个数

>>> dt = np.dtype((np.int32, (2,2))) # 2*2int子数组

举例: >>>item = np.array([([12,12],[55,56])], dtype=dt)

array([[12, 12], [55, 56]])

>>> dt = np.dtype((‘S10’, 1)) # 10字符字符串

>>> dt = np.dtype((‘i4, (2,3)f8, f4’, (2,3))) # 2*3结构子数组

#[(field_name, field_dtype, field_shape), …]

>>> dt = np.dtype([(‘big’, ‘>i4’), (‘little’, ‘

>>> dt = np.dtype([(‘R’,’u1′), (‘G’,’u1′), (‘B’,’u1′), (‘A’,’u1′)])

#{‘names’: …, ‘formats’: …, ‘offsets’: …, ‘titles’: …, ‘itemsize’: …}:

>>> dt= np.dtype({‘names’:(‘Date’,’Close’),’formats’:(‘S10′,’f8’)})

>>> dt = np.dtype({‘names’: [‘r’,’b’], ‘formats’: [‘u1’, ‘u1’], ‘offsets’: [0, 2],’titles’: [‘Red pixel’, ‘Blue pixel’]})

#(base_dtype, new_dtype):

>>>dt = np.dtype((np.int32, (np.int8, 4))) //base_dtype被分成4个int8的子数组

以上这篇关于Numpy数据类型对象(dtype)使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持本站。

除非注明,否则均为软件工程师@钟江华原创文章,转载必须以链接形式标明本文链接

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

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

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


相关推荐

  • 图像处理之gamma校正

    图像处理之gamma校正图像处理之gamma校正

    2022年6月16日
    32
  • dos命令中DATE:~0,10输出日期格式名称格式/改为-

    dos命令中DATE:~0,10输出日期格式名称格式/改为-1、问题原因系统日期格式为/分隔,dos命令中%DATE:~0,10%的日期将会被当作多个文件夹处理2、解决方法1)、在控制面板中时钟、语言和区域中或者桌面右下角调整日期和时间格式,更改日历设置,日期格式由原来是yyyy/M/d改成yyyy-M-d2)、通用写法(年月日分开取):%DATE:~0,10%替换为%date:~0,4%%date:~5,2%%date:~8,2%3)、提前变…

    2022年9月20日
    3
  • Linux系统如何查看版本信息

    Linux系统如何查看版本信息

    2021年10月14日
    67
  • Landsat8 OLI数据不同波段组合作用

    Landsat8 OLI数据不同波段组合作用OLI波段合成 R、G、B 主要用途 4、3、2 自然真彩色 7、6、4 城市 5、4、3 标准假彩色图像、植被 6、5、2 农业 7、6、5 穿透大气层 5、6、2 健康植被 5、6、4

    2022年7月23日
    24
  • CListCtrl自绘「建议收藏」

    CListCtrl自绘「建议收藏」CListCtrl自绘有3种方法:第一种:使用WM_ERASEBKGND消息+NM_CUSTOMDRAW消息配合自绘WM_ERASEBKGND消息中绘制背景色,比如偶数行为灰色,奇数行为白色。NM_CUSTOMDRAW消息中设置字体的背景色和字体颜色。好处:保留了控件大多数的原有属性。不需要自己去输出每一个项目的字体。可以非常方便的设置背景色,以及文字的颜色。缺点:不能设置选中

    2022年6月23日
    38
  • 什么是泛型?- 泛型入门篇

    什么是泛型?- 泛型入门篇目录1、什么是泛型?2、泛型是怎么编译的泛型的编译机制:擦除机制1、什么是泛型?泛型其实就是将类型作为参数传递,泛型允许程序员在编写代码时使用一些以后才指定的类型,在实例化该类时将想要的类型作为参数传递,来指明这些类型。为什么要引入泛型?例如:自己实现一个顺序表publicclassMyArrayList{publicint[]elem;publicintusedSize;publicMyArrayList(){this.ele

    2022年6月15日
    30

发表回复

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

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