数组操作
更改数组的shape
- np.ndarry.shape可返回数组的维度
- 修改维度可通过为shape赋值
- np.ndarray.flat将数组转换为一维的 迭代器(首地址/数组名),并且返回的是视图(共享空间)
- np.ndarray.flatten([order=‘C/F/A/K’])将数组转换为一维数组,并且返回的是拷贝(copy);其中C表示按行平铺,F表示按列平铺,A表示按顺序平铺,K表示按元素在内存中出现的顺序平铺
- np.ravel(arrayname[,order='C])将数组转换为一维数组,并且返回的是视图;C/F/A/K含义同上;当order='F’时,返回的是拷贝。
- np.reshape(arrayname,newshape[,order=‘C’])表示在不更改数据的情况下改变数组的形状,且返回视图;其中参数newshape=[rows,-1]/[-1,cols]时,形状会根据已知的行数或列数确定,参数newshape=-1时,表示数组降至一维。
例:一维数组变二维数组
x = np.array([1, 2, 9, 4, 5, 6, 7, 8])
print(x.shape) # (8,) 获取维度
x.shape = [2, 4] #修改维度
print(x)
# [[1 2 9 4]
# [5 6 7 8]]
例:二维数组平铺化
import numpy as np
x = np.array([[11, 12, 13, 14, 15],
[16, 17, 18, 19, 20],
[21