本讲主要介绍ndarray数组的创建、变换。更多内容请看numpy入门详细教程(三)
ndarray数组的创建:
创建的方法在此主要介绍3个。
方法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等
1.使用np.arange(n)函数:类似range()函数,返回ndarray类型,元素从0到n-1
2.使用np.ones(shape)函数: 根据shape生成一个元素全为1的数组,shape是元祖类型
3.使用np.zeros(shape)函数:根据shape生成一个元素全为0的数组,shape是元祖类型
没有指定元素数据类型时,默认为浮点型
也可以指定数据类型参数,如指定数据类型参数:dtype=np.int32
4.使用np.full(shape, val)函数:根据shape生成一个数组,每个元素值均为val,shape是元祖类型
5.使用np.eye(n)函数:创建一个正方形的n*n单位矩阵,对角线元素为1,其余为0
拓展:
np.ones_like(a) :根据数组a的形状生成一个元素全为1的数组;
np.zeros_like(a) :根据数组a的形状生成一个元素全为0的数组;
np.full_like(a,val) :根据数组a的形状生成一个元素全为val的数组;
方法3:使用numpy中的其它函数创建ndarray数组
1. np.linspace():根据起止数据等间距地填充数据,形成数组
如上,参数endpoint=False,在1到10之间等间距取4个数,舍弃最后一个数。
2. np.concatenate(): 将两个或多个数组合并成一个新的数组
ndarray数组的变换:
维度变换:
已知数组a为:
1 .reshape(shape):不改变数组元素,返回一个shape形状的数组,原数组不变。
2. resize(shape):不改变数组元素,不返回一个shape形状的数组,而且原数组改变。
3. flatten():对数组进行降维,返回折叠后的一维数组,原数组不变
元素类型的变换:
new_a = a.astype(new_type)
原数组:
经过变换后:
数组向列表的转换:
函数:
ls = a.tolist()
例子:
数组a:
经过变换后:
更多内容请看numpy入门详细教程(三)
注:作者在慕课上跟随嵩天老师学习python数据分析,收获良多,以上内容上作者的学习笔记。