您好,我想将一个数据框存储在另一个数据框单元格中。 我有一个看起来像这样的数据
我有每日数据,其中包括日期,步数和卡路里。此外,我还有特定日期的每分钟人力资源数据。显然,将每一分钟的数据放在二维列表中很容易,但我担心以后很难分析。
当我想将两个数据都放在一个数据帧中时,最佳实践是什么?甚至可以嵌套数据帧吗?
还有更好的主意吗?谢谢!
答案 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