【问题标题】:Unable to append collection of entries to NumPy array无法将条目集合附加到 NumPy 数组
【发布时间】:2019-09-20 08:36:03
【问题描述】:

我有以下 numpy 数组:

R    = np.array([-4, -10,  0,  8, 15, 22,  3],  dtype=float)
B    = np.array([4, -10,  0,  8, 15, 5,  1],  dtype=float)
G    = np.array([0, -10,  0,  8, 15, 2,  38],  dtype=float)

我需要获取这 3 个数组中每个数组的第 i 个元素,并将其附加到另一个数组 RBG 的第 i 个位置。这就是我尝试这样做的方式:

RBG = np.empty((7,3))

for i,c in enumerate(R):
   np.append(RBG, (R[i], B[i], G[i]) ) 

   #Only for debugging purpose.Illustrates the desired format.
   print("R={} B = {} G ={} i={}".format(R[i],B[i],G[i],i))

这是打印出来的:

R=-4.0 B = 4.0 G =0.0 i=0
R=-10.0 B = -10.0 G =-10.0 i=1
R=0.0 B = 0.0 G =0.0 i=2
R=8.0 B = 8.0 G =8.0 i=3
R=15.0 B = 15.0 G =15.0 i=4
R=22.0 B = 5.0 G =2.0 i=5
R=3.0 B = 1.0 G =38.0 i=6

但是,在打印结果数组时,RBG:

[[4.4943389e-316 0.0000000e+000 0.0000000e+000]
[0.0000000e+000 0.0000000e+000 0.0000000e+000]
[0.0000000e+000 0.0000000e+000 0.0000000e+000]
[0.0000000e+000 0.0000000e+000 0.0000000e+000]
[0.0000000e+000 0.0000000e+000 0.0000000e+000]
[0.0000000e+000 0.0000000e+000 0.0000000e+000]
[0.0000000e+000 0.0000000e+000 0.0000000e+000]]

为什么会这样?有什么想法吗?

【问题讨论】:

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


    【解决方案1】:

    你可以这样实现它

    R    = np.array([-4, -10,  0,  8, 15, 22,  3],  dtype=float)
    B    = np.array([4, -10,  0,  8, 15, 5,  1],  dtype=float)
    G    = np.array([0, -10,  0,  8, 15, 2,  38],  dtype=float)
    
    RBG = np.array([R,B,G]).transpose()
    
    
    
    print(RBG)
    

    【讨论】:

      【解决方案2】:
      RBG = np.vstack((R, B, G))
      L = list(["R={} B = {} G ={} i={} ".format(RBG[0, i], RBG[1, i], RBG[2, i], i) for i in range(7)])
      for i in L:
          print(i)
      

      输出:

      R=-4.0 B = 4.0 G =0.0 i=0 
      R=-10.0 B = -10.0 G =-10.0 i=1 
      R=0.0 B = 0.0 G =0.0 i=2 
      R=8.0 B = 8.0 G =8.0 i=3 
      R=15.0 B = 15.0 G =15.0 i=4 
      R=22.0 B = 5.0 G =2.0 i=5 
      R=3.0 B = 1.0 G =38.0 i=6 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-01-10
        • 2015-09-12
        • 2017-05-22
        • 2021-02-21
        • 2021-10-25
        • 2020-03-13
        • 2017-08-18
        • 1970-01-01
        相关资源
        最近更新 更多