Python:如何在数组列表下面插入Identity Matrix?

时间:2016-12-13 00:55:48

标签: python arrays numpy matrix identity

我有一个由3个数组组成的(3x5)矩阵 - np.ones(5)和2行5个值。类似的东西:

 1 1 1 1 1 
 2 3 4 4 5 
 4 3 2 3 4 

我想在下面添加一个维度(28)的单位矩阵,如:

 1 1 1 1 1 
 2 3 4 4 5 
 4 3 2 3 4 
 1 0 0 0 0
 0 1 0 0 0
 0 0 1 0 0
 0 0 0 1 0 
 0 0 0 0 0

我该怎么做?

我的代码是:

A = ([[np.ones(5), np.array(df['Beta'].values), np.array(-1*df.Beta.values), pd.DataFrame(np.identity(5))]])

这给了我3个数组,然后是整个数据帧,因此整个矩阵不被识别为矩阵。

2 个答案:

答案 0 :(得分:0)

简单地连接数组:

a=np.ones((3,3))
b=np.eye(3)
np.concatenate((a,b))
#array([[ 1.,  1.,  1.],
#       [ 1.,  1.,  1.],
#       [ 1.,  1.,  1.],
#       [ 1.,  0.,  0.],
#       [ 0.,  1.,  0.],
#       [ 0.,  0.,  1.]])

答案 1 :(得分:0)

*np.identity(5)粘贴到您的列表中:

A = ([[ np.ones(5),
        np.array(df['Beta'].values),
        np.array(-1*df.Beta.values),
        pd.DataFrame(np.identity(5)),
        *np.identity(5)
     ]])