【发布时间】:2016-02-01 07:17:05
【问题描述】:
我使用的是 Python 2.7.6
我有三个具有相同列 (n) 和相同行 (m) 的二维矩阵。如何将这 3 个矩阵折叠成一个具有相同索引和列标签(m x n 矩阵)的巨型结构。现在它们是 Pandas 中的 DataFrame。
#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
有没有其他方法可以将这些数据合并到一个矩阵中,该矩阵可以使用numpy scipy sklearn 或pandas 将所有数据包含在一个指标中?所有值都是标量 2D 矩阵。
【问题讨论】:
-
面板有什么问题?你可以说
panel = pd.Panel({'df1' : DF_1, 'df2' : DF_2, 'df3' : DF_3}),然后将它整合到一个具有所有 Pandas 出色索引和选择功能的巨型结构中。 -
我以前从不知道这件事。我只是把它放在一个,但我不确定我是否可以使用它。最终目标是对其进行一些机器学习,因此我需要离散值:/感谢 pd.Panel 寿!看起来真的很有用
-
另外,点积是matrix multiplication。这不是您所说的组合矩阵的方法。它将矩阵相乘,与 2x2=4 相同,但对于矩阵,而不是标量。
-
面板实验。它们就像 DataFrame。
标签: arrays numpy pandas matrix linear-algebra