代码之家  ›  专栏  ›  技术社区  ›  Satsuki

熊猫:嵌套数据帧

  •  1
  • Satsuki  · 技术社区  · 6 年前

    你好,我想在另一个数据帧单元中存储一个数据帧。 我有个数据是这样的 enter image description here

    我每天都有数据,包括日期、步骤和卡路里此外,我还有一个具体日期的逐分钟人力资源数据很明显,把一分钟一分钟的数据放在二维列表中是很容易的,但我担心以后会更难分析。
    当我想将两个数据都放在一个数据帧中时,什么是最佳实践甚至可以嵌套数据帧吗?
    有更好的主意吗?谢谢!

    1 回复  |  直到 6 年前
        1
  •  3
  •   sacuL    6 年前

    是的,似乎可以嵌套数据帧,但我建议 而是重新思考如何构建数据 ,这取决于应用程序或要在其上运行的分析。

    如何将数据帧“嵌套”到另一个数据帧中

    包含嵌套的“子数据帧”的数据帧不会很好地显示但是,为了说明可以嵌套数据帧,请看下面的小示例:

    这里我们有3个随机数据帧:

    >>> df1
              0         1         2
    0  0.614679  0.401098  0.379667
    1  0.459064  0.328259  0.592180
    2  0.916509  0.717322  0.319057
    >>> df2
              0         1         2
    0  0.090917  0.457668  0.598548
    1  0.748639  0.729935  0.680409
    2  0.301244  0.024004  0.361283
    >>> df3
              0         1         2
    0  0.200375  0.059798  0.665323
    1  0.086708  0.320635  0.594862
    2  0.299289  0.014134  0.085295
    

    我们可以生成一个主数据帧,其中包含这些数据帧作为单个“单元格”中的值:

    df = pd.DataFrame({'idx':[1,2,3], 'dfs':[df1, df2, df3]})
    

    然后,我们可以访问这些嵌套的数据帧,就像访问任何其他数据帧中的任何值一样:

    >>> df['dfs'].iloc[0]
              0         1         2
    0  0.614679  0.401098  0.379667
    1  0.459064  0.328259  0.592180
    2  0.916509  0.717322  0.319057