Python 2.7 对column的调用提供行向量而不是列向量
嘿,我在做一个循环,我必须通过在X估计中添加另一列来重复更新列向量X估计,然而,每当我在这个x估计中调用一个列时,它会给我一个行向量,我不能使用vstack将输出行重新定义为一个列,因为这样我就不能再在循环开始时插入它,在循环开始时需要它来进行新的计算 低于我的xestimate的输出Python 2.7 对column的调用提供行向量而不是列向量,python-2.7,Python 2.7,嘿,我在做一个循环,我必须通过在X估计中添加另一列来重复更新列向量X估计,然而,每当我在这个x估计中调用一个列时,它会给我一个行向量,我不能使用vstack将输出行重新定义为一个列,因为这样我就不能再在循环开始时插入它,在循环开始时需要它来进行新的计算 低于我的xestimate的输出 Xest = [[ 0. 0. ] [ 1. 1. ] [ 1. 1.0001] [ 1. 1.0001]] 稍后
Xest = [[ 0. 0. ]
[ 1. 1. ]
[ 1. 1.0001]
[ 1. 1.0001]]
稍后调用'Xest[:,0]'
输出>>“[0 1]”
但是我需要它成为一个专栏
'[[0], [1], [1 [1]]'
我真的不明白调用[:,0]应该是一列,不是吗?
谢谢我知道Xest是一个numpy阵列
快速回答:
您可以使用np.vstackXest[:,0]或更好的Xest[:,0][:,np.newaxis]获得所需内容
稍长一点的回答:
你为什么要这么做?大多数时候,你不会,只是依靠广播为你做。numpy中没有列向量这样的东西,所以大多数情况下都可以用普通的行向量来处理。对于那个些确实需要区分的角落案例,您可以创建视图并使用步幅进行播放,就像[:,np.newaxis]所做的那个样
充分理由:
假设你有一个10维的数组,你想要一个向量。是否确实需要类似于[1][[1][[1][[1][[1]的数组?Numpy旨在处理任意尺寸,因此是针对一般情况而设计的