air=air.reshape((m[0]//3,3,m[2],m[3])).mean(axis=1) #print(air.shape) air=(air-np.tile(np.mean(air,0),(m[0]//3,,1,1))什么意思
时间: 2024-05-26 09:18:43 浏览: 90
python3.7解决最小二乘遇到ValueError:Expected 2D array, got 1D array instead: array=[5.].关于reshape和predict
这是一个numpy数组的操作。首先,`reshape()`函数将`air`数组从四维数组(m[0],m[1],m[2],m[3])转换为三维数组(m[0]//3,3,m[2],m[3]),其中`m`是一个四元组,表示`air`数组的形状。这个操作的目的是将`m[0]`这个维度划分为3个部分,并将其沿着第二个维度分组,即将原来的每个元素`(i,j,k,l)`划分为`((i//3),0,k,l)`、`((i//3),1,k,l)`和`((i//3),2,k,l)`三个元素。
接下来,`mean(axis=1)`函数将上述三个元素沿着第二个维度取平均值,即将三个元素的第二个维度(原来是3)压缩为1,得到一个新的三维数组,形状为`(m[0]//3,1,m[2],m[3])`。
最后,`-np.tile(np.mean(air,0),(m[0]//3,1,1,1))`表示将第一个维度为`m[0]//3`的数组`(np.mean(air,0))`在第二个维度上复制1次,在第三个和第四个维度上复制`m[2]`和`m[3]`次,得到一个与`air`数组相同形状的数组,然后将其从`air`数组中减去,得到新的`air`数组。这个操作的目的是将`air`数组中每个元素减去该元素所在行的平均值,即对每个像素点进行中心化处理。
阅读全文