pandas的idxmin

最近跑了一个一维数据转二维图像的代码。代码链接如下:

Geração de imagens GASF-GADF-MTF para classificação por aprendizagem profunda residual (ResNet)https://github.com/kalishcode/GASF-GADF-MTF到最后输出结果遇到了idxmin一直报错,卡了一天,就总结下之间的过程。

log = pd.DataFrame(hist.history)
log['time'] = (time.time() - start)
print('----------- Resultados -----------')
print('Loss: ', log.loc[log['loss'].idxmin]['loss'])# 报错位置
print('Acc: ', log.loc[log['loss'].idxmin]['val_accuarcy'])
print('Tempo de processamento: %.2f segundos.' % (time.time() - start))
log.to_pickle('Resultados_' + datafile)

错误信息如下:

The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

查了半天,是这段代码中的idxmin使用不规范,应该有括号的。

print('Loss: ', log.loc[log['loss'].idxmin()]['loss'])

最后修改成这样便可以顺利通过,而且idxmin是返回的索引,

看的最简洁的一个理解方式是下图:图中student_info.idxmin()就是指chinese, math, english中的最小值的索引,所以print(student_info.idxmin())最终输出的结果是:

chinese :4

math:0

english:0

 把这个图看懂后就很容易理解文中用的print('Loss: ', log.loc[log['loss'].idxmin()]['loss']),这句代码指从loss当中找到最小的,返回索引,根据这个索引,输出对应的loss列的内容,同理,输出对应的val_accuracy列的内容。代表着输出ResNet模型的loss值和对应的val_accuracy值

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值