如何在Python中实现for循环



我正在尝试开发for循环,这样我就不必为数组B中的每个值执行命令。我希望在一个数组中输出。对于下面的代码,我如何在Python中做到这一点?

C=[ 0, 0, 2, 1, 1, 8, 3, 6, 6, 7, 11,  8, 10, 23,22, 12, 15, 34, 16,  9, 11,  6,  0,  0]
B= np.array([500,  1000,  1500,  2000,  2500,  3000,  3500,  4000,  4500,5000,  5500,  6000,  6500,  7000,  7500,  8000,  8500,  9000,9500, 10000, 10500, 11000, 11500, 12000])
C=[ 0, 0, 2, 1, 1, 8, 3, 6, 6, 7, 11,  8, 10, 23,22, 12, 15, 34, 16,  9, 11,  6,  0,  0]
B= np.array([500,  1000,  1500,  2000,  2500,  3000,  3500,  4000,  4500,5000,  5500,  6000,  6500,  7000,  7500,  8000,  8500,  9000,9500, 10000, 10500, 11000, 11500, 12000])
EU=np.array(C)*np.array(B)
ENU_1 =np.where(B < 500, 0, (B-500)*C)
ENU_2 =np.where(B < 1000, 0, (B-1000)*C)

BC创建为Numpy数组:

C = np.array([ 0, 0, 2, 1, 1, 8, 3, 6, 6, 7, 11, 8, 10, 23, 22, 12, 15, 34, 16,
9, 11, 6, 0, 0])
B = np.array([500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 5500,
6000, 6500, 7000, 7500, 8000, 8500, 9000, 9500, 10000, 10500, 11000, 11500,
12000])

然后计算EU,就像两个源数组的乘积一样,没有任何循环:

EU = C * B

剩下的代码(计算ENU_1ENU_2(是可以的。

但您写道,您希望在一个数组中输出,这一点尚不清楚。是否要连接到目前为止计算的3个数组?

如果是这种情况,运行例如:

result = np.concatenate((EU, ENU_1, ENU_2))

注意双括号,因为:

  • 外部括号是";容器";对于参数
  • 内部括号(包含内部内容(创建一个元组-此函数的第一个(也是唯一一个(参数-数组序列连接

最新更新