如何将字典列表转换为单个pandas数据帧?

2024-10-01 13:43:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我之前的代码是pandas数据帧列表,如下所示

rowResults = [ [df, df, df], [df, df, df], ... [df, df, df] ]
results=results.append(rowResults)

因为所有的数据帧都有完全相同的列,所以当我追加上面的列表时,它将整个数据结构转换成一个单独的数据帧,其中的列与单个数据帧的列相同。在

现在,由于性能问题,我已经将小数据帧转换为字典。如果我创建了大量的数据帧,我会发现在存储pandas数据帧使用的元数据信息时存在某种内存泄漏。当我改用字典的时候就不会出现这种情况。在

我的新代码如下所示

^{pr2}$

上面的代码和前一个例子的效果不一样,这是正常的。如何转换上面的字典列表列表,使最终的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

请告知。在


Tags: 数据代码数据结构pandasdf列表字典性能
1条回答
网友
1楼 · 发布于 2024-10-01 13:43:17

我用下面的代码实现了上面的。告诉我这是不是最好的办法。注意,每一行都是下面代码中的字典列表。在

frames=[]
for row in self.rowResults:
    frames.append(pandas.DataFrame(row))
self.results = pandas.concat(frames)

相关问题 更多 >