我想存储一个DataFrame
对象作为行的列的值: 下面是我想要实现的简化类比。熊猫:在另一个DataFrame中存储DataFrame对象,即嵌套的DataFrame
>>> df = pd.DataFrame([[1,2,3],[2,4,6]], columns=list('DEF'))
>>> df
166: D E F
0 1 2 3
1 2 4 6
我创建了一个新的数据框,并在旅途中添加一个新的列我插入新的DataFrame
对象作为新列的值。请参阅代码。
>>> df_in_df = pd.DataFrame([[11,13,17],[19, 23, 31]], columns=list('XYZ'))
>>> df.loc[df['F'] == 6, 'G'] = df_in_df
>>> df
D E F G
0 1 2 3 NaN
1 2 4 6 NaN
>>> df.loc[df['F'] == 6, 'G'].item()
nan
>>> # But the below works fine, i.e. when I insert an integer
>>> df.loc[df['F'] == 6, 'G'] = 4
>>> df
>>> D E F G
0 1 2 3 NaN
1 2 4 6 4.0
>>> # and to verify
>>> df.loc[df['F'] == 6, 'G'].item()
4.0
BTW我设法通过酸洗数据框成一个字符串,找到了一种解决方法,但我不觉得有什么好它:
df.loc[df['F'] == 6, 'G'] = pickle.dumps(df_in_df)
>>> df
187: D E F G
0 1 2 3 NaN
1 2 4 6 ccopy_reg\n_reconstructor\np0\n(cpandas.core.f...
>>> revive_df_from_df = pickle.loads(df.loc[df['F'] == 6, 'G'].item())
>>> revive_df_from_df
191: X Y Z
0 11 13 17
1 19 23 31
我指后开始使用熊猫本身的今天通过10分钟的熊猫,所以我不知道公约,有什么更好的想法? 谢谢!
这是很难理解什么是你要实现 - 你在说什么[面板](http://pandas.pydata.org/pandas-docs/stable/dsintro.html#面板)? – MaxU
我想插入一个DataFrame对象到特定行的列。 – wolframalpha
你为什么要这么做?熊猫被认为是一个快速的表格查询框架。 –