嘿我做了一个循环,我必须通过在X估计中添加另一列来重复更新列向量X估计,但是每当我在这个x估计中调用一个列时它给了我一个行向量而我无法重新定义使用vstack将输出行作为一列,因为我将无法再在循环开始时将其插入到新计算所需的位置
在xestimate的输出下面
Xest = [[ 0. 0. ]
[ 1. 1. ]
[ 1. 1.0001]
[ 1. 1.0001]]
稍后调用'Xest [:,0]' 输出>> '[0 1 1 1]'
然而我需要它成为一个专栏,
'[[0], [1], [1 [1]]'
我真的不了解调用[:,0]它应该是一个列,如果不是吗? 感谢
答案 0 :(得分:0)
我理解Xest
是一个numpy数组。
快速回答:
您可以使用np.vstack(Xest[:,0])
或更好的Xest[:,0][:, np.newaxis]
答案稍长:
你为什么要那样做?大多数情况下,你没有,只是依靠广播来为你做。在numpy中没有“列向量”这样的东西,因此大多数情况下可以使用普通的“行向量”来处理。对于那些需要区分的极端情况,您可以像[:, np.newaxis]
一样制作视图并进行大步调整。
完全理由:
想象一下,你有一个10维的数组,你想要一个向量。你真的想要一个类似[[[[[[[[[[1, 1, 1, 1 ...]]]]]]]]]]
的数组吗? Numpy旨在使用任意维度,因此,设计用于一般情况。