2016-12-13 1 views
0

私は3つの配列(np.ones(5))と5つの値の2つの行からなる(3x5)の行列を持っています。ような何か:Python:配列のリストの下にIDマトリックスを挿入するにはどうすればいいですか?

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つの配列と全体のデータフレームを与えるので、全体の行列は行列として認識されていません。

+0

は見えるが、私は次元の単位行列」で混乱しています(28 )」。 "28"はどこから来たの? – FTP

答えて

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.]]) 
0

ちょうどあなたのリストに*np.identity(5)をスティック:あなたは `vstack`をしたいよう

A = ([[ np.ones(5), 
     np.array(df['Beta'].values), 
     np.array(-1*df.Beta.values), 
     pd.DataFrame(np.identity(5)), 
     *np.identity(5) 
    ]]) 
関連する問題