【问题标题】:Adding new feature (column) to given numpy array [duplicate]向给定的numpy数组添加新功能(列)[重复]
【发布时间】:2020-10-15 01:00:06
【问题描述】:

假设我有一个 numpy 数组

Y =
array([[4.96473614, 6.02336215],
   [2.56213959, 2.74621531],
   [4.36170066, 5.60413956],
   ...,
   [5.93540184, 3.62864816],
   [2.34483661, 2.37333593],
   [6.3250522 , 7.09102362]])

Y.shape
(1000,2)

(例如带有 x 和 y 的 2dim 数据点)

如何轻松地将第三列添加到这个给定的数组(z 值),这样

Y.shape
(1000,3)

?

【问题讨论】:

  • 第三列的值应该是多少?

标签: python pandas numpy


【解决方案1】:

假设你有:

  1. Y 形状数组(3,2)(3 行而不是 1000):

     array([[4.96473614, 6.02336215],
            [2.56213959, 2.74621531],
            [4.36170066, 5.60413956]])
    
  2. Y2 数组(1-D(3,):

     array([10, 20, 30])
    

要获得结果,您应该:

  • 先将Y2转换成(3,1)形状(3行1列),
  • hstack 他们。

代码如下:

Y = np.hstack([Y, Y2[:, np.newaxis]])

结果是:

array([[ 4.96473614,  6.02336215, 10.        ],
       [ 2.56213959,  2.74621531, 20.        ],
       [ 4.36170066,  5.60413956, 30.        ]])

【讨论】:

    【解决方案2】:

    我希望这会有所帮助:

    1. 在 (1000,1) 数组中创建所需的列。
    2. 调用 ArrayName.append(DesiredColumn,axis = 1)

    【讨论】:

      猜你喜欢
      • 2020-06-24
      • 2021-11-09
      • 2014-07-16
      • 2016-02-27
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 2014-03-05
      • 2020-12-27
      相关资源
      最近更新 更多