gpt4 book ai didi

python - 如何从循环的 n 次迭代生成的 n 个字典列表中生成数据框?

转载 作者:行者123 更新时间:2023-12-01 01:02:52 25 4
gpt4 key购买 nike

我通过迭代函数n次生成了一个列表字典。因此,作为 d 的结果,我有 n 个不同的字典。这是d:

 d = {'Insumos' : ["%s" % frame['DESCRIÇÃO'].unique()], 'Valor previsto' : ['%.2f' % y_pred_fut],
'MAPE' : [ '%.2f' % mean_absolute_percentage_error(y_mat_val, y_pred)],
'MAE' : ['%.2f' %mean_absolute_error(y_mat_val, y_pred)], 'r2' : ['%.2f' % r2_score(y_mat_val, y_pred)]}

这是 n 特定迭代 d 的结果:

{'Insumos': ["['ABUTILOM (ABUTILON STRIATUM)']"], 'Valor previsto': ['30.56'], 'MAPE': ['5.59'], 'MAE': ['1.60'], 'r2': ['-16.70']}
{'Insumos': ["['ACALIFA (ACALYPHA WILKESIANA)']"], 'Valor previsto': ['31.22'], 'MAPE': ['3.24'], 'MAE': ['0.96'], 'r2': ['-2.24']}
{'Insumos': ['[\'ACIONADOR MANUAL TIPO "QUEBRE O VIDRO"\']'], 'Valor previsto': ['72.52'], 'MAPE': ['4.76'], 'MAE': ['3.21'], 'r2': ['-17.48']}
{'Insumos': ["['ADUBO QUÍMICO NPK, 10:10:10']"], 'Valor previsto': ['2.71'], 'MAPE': ['5.02'], 'MAE': ['0.12'], 'r2': ['0.41']}

如果我应用pd.DataFrame.from_records(d),我会得到n个不同的数据帧,如下所示:

0  ['ABUTILOM (ABUTILON STRIATUM)']  1.60  5.59          30.56  -16.70
Insumos MAE MAPE Valor previsto r2
0 ['ACALIFA (ACALYPHA WILKESIANA)'] 0.96 3.24 31.22 -2.24
Insumos ... r2
0 ['ACIONADOR MANUAL TIPO "QUEBRE O VIDRO"'] ... -17.48

[1 rows x 5 columns]
Insumos MAE MAPE Valor previsto r2
0 ['ADUBO QUÍMICO NPK, 10:10:10'] 0.12 5.02 2.71 0.41
Insumos MAE MAPE Valor previsto r2
0 ['ALAMANDA (ALLAMANDA NERIIFOLIA)'] 2.13 7.03 32.93 -8.51
Insumos ... r2
0 ['ALVENARIA DE EMBASAMENTO - TIJOLOS MACIÇOS C... ... -1.83

[1 rows x 5 columns]
.
.
.

我想获取由 dn 次迭代产生的所有 n 个不同的字典,并创建一个唯一的数据帧。

谢谢!

最佳答案

如果您有字典,则需要使用 from_dict 而不是 from_records

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.from_dict.html

如果您有多个输入词典,请将您的词典放入列表中:

d = [
{'Insumos': ["['ABUTILOM (ABUTILON STRIATUM)']"], 'Valor previsto': ['30.56'], 'MAPE': ['5.59'], 'MAE': ['1.60'], 'r2': ['-16.70']},
{'Insumos': ["['ACALIFA (ACALYPHA WILKESIANA)']"], 'Valor previsto': ['31.22'], 'MAPE': ['3.24'], 'MAE': ['0.96'], 'r2': ['-2.24']},
{'Insumos': ['[\'ACIONADOR MANUAL TIPO "QUEBRE O VIDRO"\']'], 'Valor previsto': ['72.52'], 'MAPE': ['4.76'], 'MAE': ['3.21'], 'r2': ['-17.48']},
{'Insumos': ["['ADUBO QUÍMICO NPK, 10:10:10']"], 'Valor previsto': ['2.71'], 'MAPE': ['5.02'], 'MAE': ['0.12'], 'r2': ['0.41']},
]

那么我认为它应该按您的预期工作。

>>>>pd.DataFrame.from_records(d)
Insumos MAE MAPE \
0 [['ABUTILOM (ABUTILON STRIATUM)']] [1.60] [5.59]
1 [['ACALIFA (ACALYPHA WILKESIANA)']] [0.96] [3.24]
2 [['ACIONADOR MANUAL TIPO "QUEBRE O VIDRO"']] [3.21] [4.76]
3 [['ADUBO QU?MICO NPK, 10:10:10']] [0.12] [5.02]

Valor previsto r2
0 [30.56] [-16.70]
1 [31.22] [-2.24]
2 [72.52] [-17.48]
3 [2.71] [0.41]

关于python - 如何从循环的 n 次迭代生成的 n 个字典列表中生成数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55635681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com