从双循环追加数据
Appending data from a dual loop
我正在使用 pyresample 进行插值,我有一个如下所示的循环:
for l in range(len(lf[:,0,0,0])):
for k in range(len(lf[0,:,0,0])):
lf_nearest = pyresample.kd_tree.resample_nearest(origin_def, lf[l,k,:,:], target_def, radius_of_influence=50000, fill_value=0.5)
因此,如您所见,我为原始变量 "lf[l,k,:,:]" 的每个 l 和每个 k 计算了 "lf_nearest"。
我如何从这些循环中附加所有这些值,以便最终获得 4D lf_nearest[l,k,:,:]?
Python 中的基本迭代赋值 - 用列表演示:
In [159]: alist = [0,0,0,0,0]
In [160]: for i in range(len(alist)):
...: alist[i] = i*i
...:
In [161]: alist
Out[161]: [0, 1, 4, 9, 16]
或者二维数组:
In [162]: arr = np.zeros((3,2),int)
In [163]: arr
Out[163]:
array([[0, 0],
[0, 0],
[0, 0]])
In [164]: for i in range(arr.shape[0]):
...: for j in range(arr.shape[1]):
...: arr[i,j] = 10*i + j
...:
In [165]: arr
Out[165]:
array([[ 0, 1],
[10, 11],
[20, 21]])
但首选方法是使用整个数组操作,而不是迭代:
In [166]: np.arange(0,30,10)[:,None] + np.arange(2)
Out[166]:
array([[ 0, 1],
[10, 11],
[20, 21]])
我正在使用 pyresample 进行插值,我有一个如下所示的循环:
for l in range(len(lf[:,0,0,0])):
for k in range(len(lf[0,:,0,0])):
lf_nearest = pyresample.kd_tree.resample_nearest(origin_def, lf[l,k,:,:], target_def, radius_of_influence=50000, fill_value=0.5)
因此,如您所见,我为原始变量 "lf[l,k,:,:]" 的每个 l 和每个 k 计算了 "lf_nearest"。 我如何从这些循环中附加所有这些值,以便最终获得 4D lf_nearest[l,k,:,:]?
Python 中的基本迭代赋值 - 用列表演示:
In [159]: alist = [0,0,0,0,0]
In [160]: for i in range(len(alist)):
...: alist[i] = i*i
...:
In [161]: alist
Out[161]: [0, 1, 4, 9, 16]
或者二维数组:
In [162]: arr = np.zeros((3,2),int)
In [163]: arr
Out[163]:
array([[0, 0],
[0, 0],
[0, 0]])
In [164]: for i in range(arr.shape[0]):
...: for j in range(arr.shape[1]):
...: arr[i,j] = 10*i + j
...:
In [165]: arr
Out[165]:
array([[ 0, 1],
[10, 11],
[20, 21]])
但首选方法是使用整个数组操作,而不是迭代:
In [166]: np.arange(0,30,10)[:,None] + np.arange(2)
Out[166]:
array([[ 0, 1],
[10, 11],
[20, 21]])