【问题标题】:Pandas: Nesting DataframesPandas:嵌套数据框
【发布时间】:2018-07-25 03:08:48
【问题描述】:

您好,我想将一个数据框存储在另一个数据框单元格中。 我有一个看起来像这样的数据

我有包含日期​​、步数和卡路里的每日数据。此外,我还有特定日期的每分钟 HR 数据。显然,将每分钟的数据放在二维列表中很容易,但我担心以后会更难分析。
当我想将两个数据都放在一个数据框中时,最佳做法是什么?甚至可以嵌套数据框吗?
有更好的主意吗?谢谢!

【问题讨论】:

  • 您可能想要使用zarrxarray 而不是pandas。它提供了 N 维数组和数据框,在我看来这就是您所需要的。
  • R 可以很好地做到这一点,JSYK,使用 pandas 有点困难,因为您不能将数据帧存储在数据帧中。
  • 感谢您的评论,目前熊猫只是我的选择
  • @DemetriP,为什么不呢?请参阅下面的答案
  • @sacul 哦!我尝试了一种天真的方法,但我似乎弄错了。

标签: python pandas dataframe


【解决方案1】:

是的,嵌套数据框似乎是可能的,但我建议重新考虑您希望如何构建数据,这取决于您的应用程序或您想要在其上运行的分析。

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

包含嵌套“子数据框”的数据框不会很好地显示。但是,为了表明可以嵌套您的数据框,请看一下这个小示例:

这里我们有 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

【讨论】:

    猜你喜欢
    • 2017-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-22
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多