【问题标题】:numpy, scipy, sklearn, or pandas to combine three 2D matrices in Pythonnumpy、scipy、sklearn 或 pandas 在 Python 中组合三个 2D 矩阵
【发布时间】: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 sklearnpandas 将所有数据包含在一个指标中?所有值都是标量 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


【解决方案1】:

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

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

然后将它们整合到一个具有 Pandas 出色的索引和选择功能的巨型结构中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-10
    • 1970-01-01
    • 2013-12-09
    • 2018-10-10
    • 2013-06-30
    • 2010-12-28
    • 2019-12-13
    相关资源
    最近更新 更多