Pandas:嵌套数据框

Sat*_*uki 10 python dataframe pandas

您好,我想将数据帧存储在另一个数据帧单元格中。我有一个看起来像这样的数据在此处输入图片说明

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

sac*_*cuL 15

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

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

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

这里我们有 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
Run Code Online (Sandbox Code Playgroud)

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

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

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

>>> 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
Run Code Online (Sandbox Code Playgroud)