如何将数组添加到numpy矩阵?

时间:2018-03-30 12:50:31

标签: python arrays python-3.x numpy

例如,我想把列表中的第一个元素" z"如下所示从numpy到矩阵

section#slider_buttons {
    display: flex;
    display: -webkit-flex;
    justify-content: center;
}

section.button {
    display: inline-flex;
    display: -webkit-inline-flex;
    height: 32px;
    width: 32px;
    cursor: pointer;
    border-radius: 50%;
    background-color: #2874f0;
    color: white;
}

section.button a {
    display: block;
    text-align: center;
    margin: auto; /* Important */
}

2 个答案:

答案 0 :(得分:1)

使用常规array构造函数。

In [167]: z=[1,2]
In [168]: arr = np.array([[ 1,z[0], 2], [3, 4, z[1]]])
In [169]: arr
Out[169]: 
array([[1, 1, 2],
       [3, 4, 2]])

mat('1 2; 3 4')表单可以帮助MATLAB用户调整为numpy。它不适用于复杂的条目。此表达式中的字符串解析器无法处理变量和表达式。

不鼓励使用np.matrix,因为它在许多情况下会增加并发症。它将保留在numpy很长一段时间,但除非你真的需要一些特殊功能,否则不要使用它。

也就是说,基本Python字符串格式化中的一个新功能使这种表达更容易:

In [171]: np.matrix(f'1,{z[0]},2;3,4,{z[1]}')
Out[171]: 
matrix([[1, 1, 2],
        [3, 4, 2]])

新的f''字符串可以处理变量和表达式替换:

In [172]: f'1,{z[0]},2;3,4,{z[1]}'
Out[172]: '1,1,2;3,4,2'
In [175]: np.matrix(f'1,{z[0]},2;3,4,{sum(z)}')
Out[175]: 
    matrix([[1, 1, 2],
            [3, 4, 3]])

答案 1 :(得分:0)

检查一下:

import numpy as np

z = [1, 2]
A = np.matrix('12, ' + str(z[0]) + ' , -12, 6 ; 6, 4, -6, 2')
print(A)

#returns/Output

[[ 12   1 -12   6]
 [  6   4  -6   2]]