欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Numpy的数据类型及自定义数据类型

程序员文章站 2022-07-08 12:14:12
...

Numpy的数据类型及自定义数据类型

数据类型

import numpy as np
a="10"
int_a=int(a)
print(type(int_a))---------------><class 'int'>
print(np.int(a))----------------->10
print(np.float64(42))------------>42.0
print(np.float32(True))---------->1.0
print(np.float32(False))--------->0.0

布尔值

arr=np.array([23,0,34,56],dtype=np.bool)
print(arr)------------->[ True False  True  True]

字符串

names=np.array(["苏三","离了","洪洞县","123456"],dtype="U5") # dtype="U5"表示字符串不超过5位
print(names.dtype)----------------><U5
print(names)---------------------->['苏三' '离了' '洪洞县' '12345']
                                             # "123456"六位,超出范围(五位),最后一位不输出

类型表示

number=np.arange(10,dtype="i8")#i表示int类型,8是字节数
print(number.dtype)

特别提醒
numpy存放类型一定要单一,即同一种

arr2=np.array([1,"3",True,1.0])#存放多种类型,输出结果只为一种,(往大的方向发展)为float
print(arr2.dtype)-------------------------><U11
print(arr2)------------------------------->['1' '3' 'True' '1.0']

自定义数据类型

T=np.dtype([("name",np.str_,40),("num",np.int32),("price",np.float64)])
                                   #T等价于 np.int32,np.int64,np.float32
print(T["name"])-------------------------><U40
print(T["num"])-------------------------->int32
print(T["price"])------------------------>float64
print(type(T))---------------------------><class 'numpy.dtype'>

1.查看数组里字段类型
products=np.array([(“DVD”,42,3.14),(“Butter”,13,2.72)],dtype=T)

print(products)-------------------------->[('DVD', 42, 3.14) ('Butter', 13, 2.72)]
print(products.dtype)-------------------->[('name', '<U40'), ('num', '<i4'), ('price', '<f8')]
print(products[0])----------------------->('DVD', 42, 3.14)

2.获取products数组中元素

#运用for in对数组进行遍历
for i in range(products.size):    #products.size表示products里的元素个数,相当于len(products)
    # print(products[i])----------------->('DVD', 42, 3.14)  ('Butter', 13, 2.72)
    for j in range(products[i].size):     #products[i].size=1,j只取0
        print(products[i][j])------------>DVD   Butter
相关标签: numpy数据类型