填充3D零数组而不覆盖先前的值

时间:2019-07-23 09:29:10

标签: python arrays python-3.x numpy numpy-ndarray

我正在尝试在for循环中填充3D数组。

我的问题是双重的

问题1:我一直覆盖上一个条目,只剩下最后一个循环中的值。

问题2:我一直在使用np.empty初始化我的3D数组,但是意识到它输入的数字非常小,使我的结果出现偏差。因此,我相信我应该改用np.zeros,但是我不确定如何为此设置代码。

问题1:我目前在for循环中使用np.append,但实际上似乎并没有附加每个循环,只是最近一次运行。

问题2:对于np.empty问题,我尝试对数字进行四舍五入(这是可行的,但我认为这可能会影响结果的精度)。 -我也曾尝试初始化零数组,但意识到我无法附加零,并且试图填充时碰到墙。

代码:

 z = np.arange(Z_min,Z_max,Z_increment)

 MagPearmbObject = np.arange(0,100,25)

 Metrics_array= np.empty((len(z),len(MagPearmbObject),5))

 for m in range(len(z)):
     for k in range(len(MagPearmbObject)):

         min_TF = np.min(TotalFieldMagnitude[m,::,::,k])

         max_TF = np.max(TotalFieldMagnitude[m,::,::,k])

         dipole = max_TF_temp - min_TF_temp
         np.append(Metrics_array,z[m],MagPearmbObject[k],max_TF,min_TF,dipole),)

基本上,我想得到一个3个z层(在垂直轴上)的3D数组,然后每个2D层将有4列(磁导率,max_TF,min_TF,偶极子)。

0 个答案:

没有答案