一尘不染

如何将模型对象列表转换为pandas数据框?

python

我有一个此类的对象数组

class CancerDataEntity(Model):

    age = columns.Text(primary_key=True)
    gender = columns.Text(primary_key=True)
    cancer = columns.Text(primary_key=True)
    deaths = columns.Integer()
    ...

打印时,数组看起来像这样

[CancerDataEntity(age=u'80-85+', gender=u'Female', cancer=u'All cancers (C00-97,B21)', deaths=15306), CancerDataEntity(...

我想将其转换为数据帧,以便我可以以更适合我的方式进行操作-进行汇总,计数,求和等。我希望这个数据框看起来像这样:

     age     gender     cancer     deaths
0    80-85+  Female     ...        15306
1    ...

有没有一种方法可以轻松地使用numpy / pandas来实现,而无需手动处理输入数组?


阅读 170

收藏
2021-01-20

共1个答案

一尘不染

导致预期结果的代码:

variables = arr[0].keys()
df = pd.DataFrame([[getattr(i,j) for j in variables] for i in arr], columns = variables)

感谢@Serbitar为我指出正确的方向。

2021-01-20