首页 > 解决方案 > 如何用 Python 中的一个键开始用另一个数组填充 NPArray?

问题描述

我有一个数据框,名为x. 这由 2 列组成,如下所示 (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 中的数组填充我的newXNPArrayx但将所有键保持在 0 相同?

标签: pythonnumpylogistic-regression

解决方案


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

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

推荐阅读