2015-11-01 40 views
1

我使用Python 2.7.6numpy的,SciPy的,sklearn,或大熊猫三个二维矩阵在Python

结合我有相同的列(n)和相同的行三2维矩阵(米)。我怎样才能将这3个矩阵合并成一个相同的索引和列标签(m×n矩阵)的巨型结构。现在他们是Pandas中的DataFrames。

#Pseudocode 
import pandas as pd 
import numpy as np 

DF_1 = pd.DataFrame(data) 
DF_2 = pd.DataFrame(data) 
DF_3 = pd.DataFrame(data) 

#I was thinking maybe a dot product like: 

np.dot(DF_metNorm.as_matrix(),DF_cnvNorm.as_matrix(),DF_gexNorm.as_matrix()) 

#but np.dot() can only take two matrices 

是否有其他方法可以让我崩溃,这些成一个矩阵的计算方法,可以使用任何numpyscipysklearnpandas包括所有的数据到一个单一的指标?所有值都是标量2D矩阵。

+0

面板有什么问题?你可以说'panel = pd.Panel({'df1':DF_1,'df2':DF_2,'df3':DF_3})'然后将它们放在一起构成一个庞大的结构,并且所有的熊猫都有很棒的索引和选择能力。 – Kartik

+0

我从来不知道这件事。我只是把它放到一个,但我不知道我是否可以使用它。最终目标是做一些机器学习,所以我需要离散值:/感谢pd.Panel寿!似乎真的有用 –

+0

另外,点积是[矩阵乘法](https://en.wikipedia.org/wiki/Matrix_multiplication)。这不是你所说的意义上的矩阵组合方式。它将把矩阵放在一起,就像做2x2 = 4一样,但是对于矩阵而不是标量。 – Kartik

回答

1

面板有什么问题?你可以说

panel = pd.Panel({'df1' : DF_1, 
        'df2' : DF_2, 
        'df3' : DF_3}) 

,然后在一个巨型的结构与所有的大熊猫真棒索引和选择能力有它在一起。