我已经通过迭代函数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)]}这是d的特定迭代的n的结果
{'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 distinct数据帧:
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]
.
.
.我想要从n的n迭代中获得所有d不同的字典,并创建一个唯一的数据帧。
谢谢!
发布于 2019-04-12 01:37:44
当您向pd.DataFrame提供一个d时,它只能生成包含这一行的DataFrame。您需要组合d值。最简单(但不是最有效)的方法是创建一个list,然后用append(d)在其中添加每个已计算的d,如下所示
d_list = []
for some_data in some_data_source:
d = get_d(some_data)
d_list.append(d)
df = pd.DataFrame(d_list)一个字典列表将会产生你想要的DataFrame。
附注:还不清楚,为什么你会接受像这样的字典中的一个值
'MAPE' : [ '%.2f' % mean_absolute_percentage_error(y_mat_val, y_pred)]这将使以后很难进行操作。单个值最好按原样存储
'MAPE' : '%.2f' % mean_absolute_percentage_error(y_mat_val, y_pred)如果你想在DataFrame中进行一些计算,最好不要将值转换为字符串,而是将值存储起来。您可以稍后转换为字符串
'MAPE' : mean_absolute_percentage_error(y_mat_val, y_pred)https://stackoverflow.com/questions/55635681
复制相似问题