for循环耗时太长

时间:2019-11-26 12:22:14

标签: python pandas

i在数据框df1中有一个名为data2的列,该列在每行中包含嵌套字典的列表。总共有50983行。我使用了以下代码,但是代码占用了太多时间。在data2内部,我需要在所有词典中更新id,因为id是唯一的,此后,一旦将其标准化为具有键值对的dataframe,我将不得不使用id进行分组。该代码可以正常工作,但是花费的时间太长(10分钟)。这是我使用的代码:

dff = pd.DataFrame()

for i in range(0,len(df1.data2)):
    l=df1['data2'][i]
    id_dict = [d for d in l if 'id' in d][0]
    merge = [ {**d, **id_dict} for d in l if 'id' not in d]
    dff= dff.append(merge)

这是输入文件:input data

和我想要的输出应如下所示:desired output

0 个答案:

没有答案