我想将一个大数组切成小数组,并为每个小数组取不同的名称。
我使用2 for循环将10 * 10大数组切成25 2 * 2数组,我可以在每个循环中将它们打印出来,但是我没有给每个数组指定特定的名称。我也尝试将'.format()'函数合并到循环中,但仍然失败。
下面的代码工作正常,并打印出我想要的切片2 * 2矩阵:
import numpy as np
a = np.arange(100).reshape(10, 10)
for p in range(0,a.shape[0],2):
for q in range(0,a.shape[1],2):
print(a[p:p+2,q:q+2])
Run Code Online (Sandbox Code Playgroud)
但是当我尝试为每个生成的数组生成特定名称时,以下代码失败:
import numpy as np
a = np.arange(100).reshape(10, 10)
for p in range(0,a.shape[0],2):
for q in range(0,a.shape[1],2):
'slice_{0}_{1}'.format(p,q) = a[p:p+2,q:q+2]
Run Code Online (Sandbox Code Playgroud)
我希望得到以下格式的数组:
slice_0_0 = array([[ 0, 1],[10,11]])
slice_0_2 = array([[ 2, 3],[12,13]])
...
slice_8_8 = array([[88,89],[98,99]])
Run Code Online (Sandbox Code Playgroud)
这样我就可以使用数组名称应用这些数组,而不是直接加载原始的大数组。