ndarray数组的创建方法
1.从python中的列表,元组等类型创建ndarray数组
x = np.array(list/tuple)
x = np.array(list/tuple,dtype=np.float32)
当np.array() 不指定dtype时,Numpy 将根据数据情况关联一个dtype类型
2.使用Numpy中函数创建ndarray数组,如:arange,ones,zeros 等
np.arange(n) 类似range90函数,返回ndarray类型,元素从0到n-1
np.ones(shape) 根据shape生成一个全1数组,shape是元组类型
np.zeros(shape) 根据shape生成一个全0数组,shape是元组类型
np.full(shape,val) 根据shape生成一个数组,每个元素都是val
np.eye(n) 创建一个正方的n*n单位矩阵,对角线为1,其余为0
np.noes_like(a) 根据数组a的形状生成一个全是1数组
np.zeros_like(a) 根据数组a 的形状生成一个全0数组
np.full_like(a,val) 根据数组a的形状生成一个数组,每个元素值都是val
np.linspace() 根据起止数据等间距地填充数据,形成数组
np.concatenate() 将两个或多个数组合并成一个新的数组
# ndarray 数组的创建方法 import numpy as np a = np.linspace(1,10,4) a # array([1.,4.,7.,10.,]) b = np.linspace(1,10,4endpoint=False) b # array([1.,3.25,5.5,7.75,])
3.从字节流(raw bytes)中创建ndarray数组
4.从文件中读取特定格式,创建ndarray数组
ndarray数组的变换
对于穿件后的ndarray数组,可以对其进行维度变换和元素类型变换
a = np.ones((2,3,4),dtype = np.int32)
ndarray数组的维度变换
.reshape(shape) 不改变数组元素,返回一个shape形状的数组,原数组不变
.resize(shape) 与.reshape()功能一致,单修改原数组
.swapaxes(ax1,ax2) 将数组n个维度中两个维度进行调换
.flatten() 对数组进行降维,返回折叠后的一维数组,原数组不变
ndarray数组的类型变换
new_a = a.astype(new_type)
astype() 方法一定会创建新的数组(原始数据的一个拷贝),即使两个类型一致