2016-11-22 5 views
1

2つの大きな正方行列(2つのCSVファイル)があります。 2つの行列は、いくつかの異なるラベルと異なる次元を持つことがあります。 これらの2つの行列を追加して、すべてのラベルを保持したいと考えています。どのように私はこれをPythonで行うのですか?異なるラベルと異なる次元の行列を追加する

例:

{a、b、c ... e}はラベルです。

 a b c d    a e 
    a 1.2 1.3 1.4 1.5   a 9.1 9.2 
X= b 2.1 2.2 2.3 2.4  Y= e 8.1 8.2 
    c 3.3 3.4 3.5 3.6     
    d 4.2 4.3 4.4 4.5     

      a  b  c  d  e 
     a 1.2+9.1 1.3  1.4  1.5  9.2 
X+Y= b 2.1  2.2  2.3  2.4  0 
     c 3.3  3.4  3.5  3.6  0 
     d 4.2  4.3  4.4  4.5  0 
     e 8.1  0  0  0  8.2 

誰かがファイル(行列)を見たい場合は、彼らはhereです。

** @piRSquared

によって提案された方法を試し
import pandas as pd 
X= pd.read_csv('30203_Transpose.csv') 
Y= pd.read_csv('62599_1999psCSV.csv') 

Z= X.add(Y, fill_value=0).fillna(0) 

print Z 

Z - > 467行×661列

結果の行列も正方形であるべきです。 このアプローチはまた、行ヘッダが失われ(..今1,2,3となって、彼らは10010、10071、10107、1013でなければなりません。)

10010 10071 10107 1013 .... 
0 0 0 0.01705 0.0439666659 
1 0 0 0 0 
2 0 0 0 0.0382000022 
3 0.0663666651 0 0 0.0491333343 
4 0 0 0 0 
5 0.0208000001 0 0 0.1275333315 
. 
. 

私は何をやるべき?

答えて

1

は、私はこれを試してみましたfill_value=0

X.add(Y, fill_value=0).fillna(0) 

enter image description here

+0

パラメータでaddメソッドを使用します。プロセス内で行ラベルが変更され、結果の行列が長方形(正方形である必要があります) 方法はありますか? – FlyingAura

関連する問題