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

猜你喜欢

转载自blog.csdn.net/messi_james/article/details/80455558