将不同的数组转换为循环
Transforming different arrays into a loop
我想知道是否有可能将这些下一个过程转换成一个循环,以便我可以为此使用一个词(而不是作为向量):
Data0 = np.zeros(dem0.shape, dtype=np.int32)
Data0[zipp[0] >= 0 ] = 1
Data1 = np.zeros(dem1.shape, dtype=np.int32)
Data1[zipp[1] >= 0 ] = 1
Data2 = np.zeros(dem2.shape, dtype=np.int32)
Data2[zipp[2] >= 0 ] = 1
Data3 = np.zeros(dem3.shape, dtype=np.int32)
Data3[zipp[3] >= 0 ] = 1
如您所见,每层有 4 个形状(总共四层)。我正在尝试为我拥有的每一层的每个 dem.shape
放置一个 specific/corresponding "zipp" 矢量位置(在矢量 zipp[i]
中,每个 i
是每个 i
的数组=14=]).
我想要它做的是用数字 1 替换每个 layer/shape/dem 中包含在 zipp[i]
中的数组中大于或等于零的值。
然而,因此,我必须将其作为一个词而不是一个向量或数组来传递,所以我一直在考虑一个循环,但还没有得到足够的阐明。
谢谢:)
我不太清楚你所说的结果 "as a word not a vector or array" 是什么意思,但假设所有这些数组都具有相同的形状,你可以将其减少到几行(也许其他人知道如何在 1):
中完成
data = np.zeros_like(zipp, dtype=np.int32)
data[zipp >= 0] = 1
如果你只想 return 一个布尔数组,其中 zipp
大于或等于 0,你可以在 1 行中这样做:
bool = np.greater_equal(zipp, 0)
我想知道是否有可能将这些下一个过程转换成一个循环,以便我可以为此使用一个词(而不是作为向量):
Data0 = np.zeros(dem0.shape, dtype=np.int32)
Data0[zipp[0] >= 0 ] = 1
Data1 = np.zeros(dem1.shape, dtype=np.int32)
Data1[zipp[1] >= 0 ] = 1
Data2 = np.zeros(dem2.shape, dtype=np.int32)
Data2[zipp[2] >= 0 ] = 1
Data3 = np.zeros(dem3.shape, dtype=np.int32)
Data3[zipp[3] >= 0 ] = 1
如您所见,每层有 4 个形状(总共四层)。我正在尝试为我拥有的每一层的每个 dem.shape
放置一个 specific/corresponding "zipp" 矢量位置(在矢量 zipp[i]
中,每个 i
是每个 i
的数组=14=]).
我想要它做的是用数字 1 替换每个 layer/shape/dem 中包含在 zipp[i]
中的数组中大于或等于零的值。
然而,因此,我必须将其作为一个词而不是一个向量或数组来传递,所以我一直在考虑一个循环,但还没有得到足够的阐明。
谢谢:)
我不太清楚你所说的结果 "as a word not a vector or array" 是什么意思,但假设所有这些数组都具有相同的形状,你可以将其减少到几行(也许其他人知道如何在 1):
中完成data = np.zeros_like(zipp, dtype=np.int32)
data[zipp >= 0] = 1
如果你只想 return 一个布尔数组,其中 zipp
大于或等于 0,你可以在 1 行中这样做:
bool = np.greater_equal(zipp, 0)