Python 如何在数据帧中存储数据帧

Python 如何在数据帧中存储数据帧,python,pandas,Python,Pandas,我有一个带有各种文本和数字列的数据框,我像数据库一样使用它。由于列可以是dtype对象,因此我还可以在单个单元格中存储更复杂的对象,如numpy数组 如何在单元格中存储另一个数据帧 df1=pd.DataFrame([1,'a']) df2=pd.DataFrame([2,'b']) 此分配失败: df1.loc[0,0] = df2 ValueError: Incompatible indexer with DataFrame 注:这不是下面建议的重复问题,因为我不想连接“子”-数据帧通

我有一个带有各种文本和数字列的数据框,我像数据库一样使用它。由于列可以是dtype对象,因此我还可以在单个单元格中存储更复杂的对象,如numpy数组

如何在单元格中存储另一个数据帧

df1=pd.DataFrame([1,'a'])
df2=pd.DataFrame([2,'b'])
此分配失败:

df1.loc[0,0] = df2

ValueError: Incompatible indexer with DataFrame

注:这不是下面建议的重复问题,因为我不想连接“子”-数据帧

通过使用
to_dict
将df1转换为dict

df1.loc[0,0] = [df2.to_dict()]
df1
Out[862]:
                       0
0  [{0: {0: 2, 1: 'b'}}]
1                      a
如果需要将其转换回dataframe,可以使用dataframe构造函数

pd.DataFrame(df1.loc[0,0][0])


Out[864]: 
   0
0  2
1  b
您可以使用设置值:

df1.set_value(0,0,df2)
或:


自0.21.0版以来,一直不推荐使用.set_值。

失败语句是否只适用于
=1
可能的重复项,在其中嵌套数据帧的目的是什么?这听起来像是一个错误。考虑一个字典或数据文件列表…或DF1。在[0,0]=DF2标签…谢谢
df1.iat[0,0]=df2