熊猫:嵌套数据框

时间:2018-07-24 18:39:54

标签: python pandas dataframe

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

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

1 个答案:

答案 0 :(得分:2)

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

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

包含嵌套的“子数据框”的数据框将无法很好地显示。但是,只是为了表明可以嵌套数据框,请看以下迷你示例:

这里有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]})

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

>>> 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