numpy.ndarray (array)
全零矩阵生成
np.zero(shape, dtype),shape=(行数,列数)
import numpy as np
mx = np.zeros(shape = (5,8), dtype = np.int16)
print(type(mx))
# 输出:<class 'numpy.ndarray'>
拼接
参考:Numpy系列之ndarray数组的维度变换,拼接,分割和复制
给已有的数据添加多行:np.concatenate([a,b],axis=0) 或 np.vstack([a,b])
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
b = np.arange(7,13).reshape(2,3)
c = np.concatenate([a,b],axis=0)
d = np.vstack([a,b])
print(a) # 输出[[1 2 3] [4 5 6]]
print(b) # 输出[[ 7 8 9] [10 11 12]]
print(c) # 输出[[ 1 2 3] [ 4 5 6] [ 7 8 9] [10 11 12]]
print(d) # 输出[[ 1 2 3] [ 4 5 6] [ 7 8 9] [10 11 12]]
给已有的数据添加多列:np.concatenate([a,b],axis=1) 或 np.hstack([a,b])
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
b = np.arange(7,13).reshape(2,3)
c = np.concatenate([a,b],axis=1)
d = np.hstack([a,b])
print(a) # 输出[[1 2 3] [4 5 6]]
print(b) # 输出[[ 7 8 9] [10 11 12]]
print(c) # 输出[[ 1 2 3 7 8 9] [ 4 5 6 10 11 12]]
print(d) # 输出[[ 1 2 3 7 8 9] [ 4 5 6 10 11 12]]
数据类型转换
参考:python numpy矩阵的数据类型转换
numpy的数据类型转换需要调用astype(),直接修改dtype是无效的
>>> a = np.array([1.0, 2.0])
>>> a.dtype
dtype('float64') # np默认的格式即为float64
>>> a.astype(np.int16)
array([1, 1], dtype=int16)
>>> a.dtype
dtype('float64') # 矩阵a的数据类型并没有变
>>> a = a.astype(np.int16) # 对源数据的赋值操作后a的数据类型变化
>>> a.dtype
dtype('int16')
>>> a
array([1, 1], dtype=int16)