# author: Roy.G
#ndarray 操作属性
import numpy as np
data=[ ('a1',[40,50,60],10),
('a2',[40,51,60],10),
('a3',[40,52,60],10)]
# 第一种设置dtype的方式-简洁的表达
# a=np.array(data,dtype='U2,3int32,int32') #U3=unicode字符2个,3int32=3个int32,int32=1个int32
# print(a,type(a),a.dtype)
# print(a[1][2]) # 寻找数据
#第二种设置dtype的方式-列表逐列表达,设置别名
# a=np.array(data,dtype=[('name','str',2),
# ('sc','int32',3),
# ('age', 'int32',1)
# ])
# print(a['age']) #通过属性别名,访问数据
# print(a[2]['age'])
# 第三种设置dtype的方式,采用字典格式化表达每列
a=np.array(data,dtype={'names':['name','sc','ages'],
'formats':['U3','3int32','int32']
})
print(a)
print(a[0]['ages'])
# 第四种表达方式-字节偏移量(这个方式不常用)
a=np.array(data,dtype={'names':('U3',0),
'sc':('3int32',16),
'ages':('int32',28)
})
print(a[0]['names'])