Python 3.x 逐行解压JSON转储并将其键用作单独的列需要很长时间

Python 3.x 逐行解压JSON转储并将其键用作单独的列需要很长时间,python-3.x,pandas,Python 3.x,Pandas,我在dataframe中有一列,JSON数据封装在一个列表中。每行基本上包含以下内容: [{'id': 'A', 'price': 43}, {'id': 'B', 'price': 57}, {'id': 'C', 'price': 99}] .... 我想要的是解压JSON对象,以便键进入现有dataframe中的单独列中,并更新相应列下每行中的值。基本上,上面给出的结果应该是这样的,A、B和C列为: A, B, C 43, 57, 99 ... 这是我的简单实现,但速度非常慢,在过去的

我在dataframe中有一列,JSON数据封装在一个列表中。每行基本上包含以下内容:

[{'id': 'A', 'price': 43}, {'id': 'B', 'price': 57}, {'id': 'C', 'price': 99}]
....
我想要的是解压JSON对象,以便键进入现有dataframe中的单独列中,并更新相应列下每行中的值。基本上,上面给出的结果应该是这样的,A、B和C列为:

A, B, C
43, 57, 99
...
这是我的简单实现,但速度非常慢,在过去的1个小时里,它一直在一个有数百万行的数据集上运行

for n in range(df.shape[0]):
    for dump in df['jsondump'].iloc[n]:
        df.loc[n, dump['id']] = dump['price']

做这件事的更好方法是什么?

df['jsondump'].apply(lambda x:pd.DataFrame(x.T)
?不,这不是我想要的输出。已经在OP.df[['A','B','C']=df['jsondump'].apply(lambda x:pd.DataFrame(x).T.iloc[1])中显示了这个技巧,但仍然非常慢