【发布时间】:2020-09-01 00:32:12
【问题描述】:
我似乎找不到任何将 Pydantic BaseModels 列表简单地转换为 Pandas Dataframe 的内置方法。
from pydantic import BaseModel
import pandas as pd
class SomeModel(BaseModel):
col1: str
col2: str
data = [SomeModel(**{'col1': 'foo', 'col2': 'bar'})] * 10
pd.DataFrame(data)
输出
>> 0 1
>> 0 (col1, foo) (col2, bar)
>> 1 (col1, foo) (col2, bar)
>> ...
以这种方式将列作为数据加载。一种解决方法是执行以下操作
pd.Dataframe([model.dict() for model in data])
输出
>> col1 col2
>> 0 foo bar
>> 1 foo bar
>> ...
但是,对于大量数据,这种方法有点慢。有更快的方法吗?
【问题讨论】: