如何在Python的某个键处以另一个数组填充NPArray?

时间:2019-01-03 21:15:04

标签: python numpy logistic-regression

我有一个名为x的数据框。这包括两列,看起来像这样(712,2):

     SibSp  Parch
731      0      0
230      1      0
627      0      0
831      1      1
391      0      0
.................

由于逻辑回归需要“自由权重”,因此我构建了一个newX变量,其形状为x数据框,但值为空。

newX = np.zeros(shape=(x.shape[0], x.shape[1] + 1))

这会生成一个(712,3)np数组:

[[0. 0. 0.]
 [0. 0. 0.]
 [0. 0. 0.]
 ...
 [0. 0. 0.]
 [0. 0. 0.]
 [0. 0. 0.]]

由于第一个索引(0)是自由权重,因此我现在想将x值分配给索引1和2。

newX[:, 1:] = x

但是,它给了我这个错误:

  

例外:点积形状不匹配(712,)vs(3,712)

如何使用键1-2中的newX数组填充x NPArray,但将所有键0保持不变?

1 个答案:

答案 0 :(得分:2)

您可能需要在数据框后添加values

newX[:, 1:] = x.values
newX
Out[171]: 
array([[0., 0., 0.],
       [0., 1., 0.],
       [0., 0., 0.],
       [0., 1., 1.],
       [0., 0., 0.]])