在Python中访问矩阵列表的各列

时间:2016-02-22 23:23:33

标签: python

假设我有一个如下所示的矩阵数组。我想访问每个矩阵的每个第一个元素并将它给变量a和每个矩阵的每个第二个元素变量b并且它继续c,d,e ...我想绘制a,b,c ...单独查看方差,这就是为什么我需要将其提取为单独的变量。

[matrix([[-0.92041113],
                [ 1.08098058],
                [ 0.14296712],
                [ 0.68220346],
                [-2.06009246],
                [ 2.67064141],
                [ 0.02112063],
                [-3.10444805],
                [ 2.65878653],
                [-2.07589813],
                [-2.06215593],
                [ 0.85664044],
                [-3.74867982]]), 
    matrix([[-0.92040691],
                [ 1.08097285],
                [ 0.14295496],
                [ 0.68220521],
                [-2.06007836],
                [ 2.67064582],
                [ 0.02111738],
                [-3.10443457],
                [ 2.65875017],
                [-2.07586394],
                [-2.06215174],
                [ 0.85664019],
                [-3.74867324]]), 
    matrix([[-0.92040268],
                [ 1.08096513],
                [ 0.1429428 ],
                [ 0.68220696],
                [-2.06006425],
                [ 2.67065023],
                [ 0.02111412],
                [-3.1044211 ],
                [ 2.65871382],
                [-2.07582975],
                [-2.06214755],
                [ 0.85663994],
                [-3.74866666]]), 
    matrix([[-0.92039846],
                [ 1.08095741],
                [ 0.14293065],
                [ 0.68220871],
                [-2.06005015],
                [ 2.67065464],
                [ 0.02111087],
                [-3.10440762],
                [ 2.65867747],
                [-2.07579557],
                [-2.06214336],
                [ 0.8566397 ],
                [-3.74866008]])]

以下是我的尝试,

[beta_array[i][0] for i in range(0,3)] 

但我得到的输出如下,

[matrix([[-0.92041113]]),
 matrix([[-0.92040691]]),
 matrix([[-0.92040268]]),
 matrix([[-0.92039846]])]

我无法使用此输出绘制任何内容。我的理想输出是变量a中的(-0.92041113,-0.92040691,-0.92040268,-0.92039846),它变为1。如果它是值的适当变量,我可以轻松地绘制它。有人可以帮我这么做吗?

4 个答案:

答案 0 :(得分:1)

请尝试以下代码:

[float(beta_array[i][0]) for i in range(0,3)]

答案 1 :(得分:0)

我认为你想要的是:

html{
    /* This image will be displayed fullscreen */
    /* Ensure the html element always takes up the full height of the browser window */
    min-height:100%;

    /* The Magic */
    background-size:cover;

    background: rgba(245, 245, 245, 0.7) url('bowling.jpg') no-repeat center center;
}

body{
    /* Workaround for some mobile browsers */
    min-height:100%;
}

.transparent-input {
    background-color: rgba(0, 0, 0, 0);
    border:none;
}

虽然我不确定[beta_array[i][0][0] for i in range(0,3)] 在那里打电话给你的是什么。您使用什么框架?

答案 2 :(得分:0)

一种解决方案是在更大的矩阵中制作单独的条目矩阵(而只是将其留作大列表),然后执行

a = matrix[:,0]
b = matrix[:,1]

答案 3 :(得分:0)

询问索引0, 0,而不是索引0

>>> [beta_array[i][0, 0] for i in range(0,3)]
[-0.92041112999999997, -0.92040690999999997, -0.92040268000000003]

或更好:

>>> [beta[0, 0] for beta in beta_array]
[-0.92041112999999997, -0.92040690999999997, -0.92040268000000003, -0.92039846000000003]

(当您想覆盖所有四个矩阵时,不知道为什么使用range(0, 3)。)