我之前的代码是熊猫数据框列表列表,如下所示
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
请指教。