我的先前代码是以下形式的一系列嵌套的pandas数据框的列表
rowResults = [ [df, df, df], [df, df, df], ... [df, df, df] ]
results=results.append(rowResults)
由于所有数据框具有相同的列,因此当我附加以上列表时,它将整个数据结构转换为具有与单个数据框相同列的单个数据框。
现在,由于性能问题,我已经将小型数据框转换为字典。如果我创建大量数据框,则会发现存储由pandas数据框使用的元数据信息时存在某种内存泄漏。当我使用字典时,不会出现这种情况。
我的新代码如下所示:
rowResults = [ [dict, dict, dict], [dict, dict, dict], ... [dict, dict, dict] ]
results=results.append(rowResults)
以上代码的效果与之前的不同,这是正常的。如何将上述字典列表转换为最终的Pandas数据帧,使其具有与字典键相同的列?对于字典,我的输出如下所示:
(Pdb) results
<class 'pandas.core.frame.DataFrame'>
Int64Index: 799 entries, 0 to 798
Data columns:
0 799 non-null values
1 799 non-null values
2 799 non-null values
column1 0 non-null values
column2 0 non-null values
column3 0 non-null values
column4 0 non-null values
请给予建议。