标签:类型 创建 nes data nump 元数据 shape ges 性能
1. 元数据(metadata)
存储对目标数组的描述信息,如:ndim、dimensions、dtype、data等。
2. 实际数据
完整的数组数据
将实际数据与元数据分开存放,一方面提高了内存空间的使用效率,另一方面减少对实际数据的访问频率,提高性能。
3. ndarray数组对象的特点
Numpy数组是同质数组,即所有元素的数据类型必须相同
Numpy数组的下标从0开始,最后一个元素的下标为数组长度减1
np.array(任何可被解释为Numpy数组的逻辑结构)
np.zeros
np.zeros(数组元素个数, dtype=‘类型‘)
创建指定大小的数组,数组元素以 0 来填充
np.ones
np.ones(数组元素个数, dtype=‘类型‘)
创建指定形状的数组,数组元素以 1 来填充
元素的类型:ndarray.dtype
eg. import numpy as np
ary = np.array([1, 2, 3, 4, 5, 6])
print(type(ary), ary, ary.dtype)
#转换ary元素的类型
b = ary.astype(float)
print(type(b), b, b.dtype)
#转换ary元素的类型
c = ary.astype(str)
print(type(c), c, c.dtype)
数组元素的个数:ndarray.size
秩,轴的数量或维度的数量:ndarray.ndim
数组的维度,对于矩阵,n 行 m 列:ndarray.shape
NumPy 也提供了 reshape 函数来调整数组大小。
numpy 的数值类型实际上是 dtype 对象的实例,并对应唯一的字符,包括 np.bool_,np.int32,np.float32,等.
布尔型 bool_
有符号整数型 nt8(-128~127) / int16 / int32 / int64
无符号整数型 uint8(0~255) / uint16 / uint32 / uint64
浮点型 float16 / float32 / float64
复数型 complex64 / complex128
字串型 str_,每个字符用32位Unicode编码表示
日期类型 datetime64
自定义复合类型
eg. import numpy as np
data=[
(‘zs‘, [90, 80, 85], 15),
(‘ls‘, [92, 81, 83], 16),
(‘ww‘, [95, 85, 95], 15)
]
#第一种设置dtype的方式
a = np.array(data, dtype=‘U3, 3int32, int32‘)
print(a)
print(a[0][‘f0‘], ":", a[1][‘f1‘])
#第二种设置dtype的方式
b = np.array(data, dtype=[(‘name‘, ‘str_‘, 2),
(‘scores‘, ‘int32‘, 3),
(‘age‘, ‘int32‘, 1)])
print(b[0][‘name‘], ":", b[0][‘scores‘])
#第三种设置dtype的方式
c = np.array(data, dtype={
‘names‘: [‘name‘, ‘scores‘, ‘ages‘],
‘formats‘: [‘U3‘, ‘3int32‘, ‘int32‘]})
print(c[0][‘name‘], ":", c[0][‘scores‘], ":", c.itemsize)
#第四种设置dtype的方式
d = np.array(data, dtype={‘name‘: (‘U3‘, 0),
‘scores‘: (‘3int32‘, 16),
‘age‘: (‘int32‘, 28)})
print(d[0][‘names‘], d[0][‘scores‘], d.itemsize)
#测试日期类型数组
f = np.array([‘2011‘, ‘2012-01-01‘, ‘2013-01-01 01:01:01‘,‘2011-02-01‘])
f = f.astype(‘M8[D]‘)
f = f.astype(‘i4‘)
print(f[3]-f[0])
标签:类型 创建 nes data nump 元数据 shape ges 性能
原文地址:https://www.cnblogs.com/Jbincao/p/14202738.html