返回顶部

[Python] [python error]‘float‘ object has no attribute ‘log‘ / loop of ufunc does not support argument 0 of type

[复制链接]
awagink 显示全部楼层 发表于 2021-1-17 11:43:30 |阅读模式 打印 上一主题 下一主题
[python error]‘float‘ object has no attribute ‘log‘ / loop of ufunc does not support argument 0 of type

报错情况:
原来的对数转换(如下),前面调过一些数后就报错。

  1. np.log(data['Item']+1)
复制代码


python error 01.png
AttributeError Traceback (most recent call last)
AttributeError: ‘float’ object has no attribute ‘log’

TypeError: loop of ufunc does not support argument 0 of type float which has no callable log method


解决方法
  1. np.log(data['Item']+1)
复制代码


改成

  1. np.log((data['Item']+1).astype('float'))
复制代码


astype()函数
1astype()函数可用于转化dateframe某一列的数据类型

如下将dateframe某列的str类型转为int,注意astype()没有replace=True的用法,想要在原数据上修改,要写成如下形式。

注意只有当该列的字符串全是由纯数字构成时才可以这样写,如果混有字母,会报错:ValueError: invalid literal for int() with base 10:

利用int()函数转字符串也类似

参考:https://www.cnblogs.com/helloworldcc/p/9681546.html

  1. app_train[['uid','index']] = app_train[['uid','index']].astype('int')
复制代码

isdigit()用于判断一个字符串是否由纯数字构成,如果是返回True,否则False

参考:
https://www.runoob.com/python/att-string-isdigit.html
https://blog.csdn.net/a1809032425/article/details/82316672
您需要登录后才可以回帖 登录 | 注册

本版积分规则

纳速健身网成立于2006年8月,是国内优秀健身运动网站,现拥浏览人数超30万。网站是集养生、武术、太极拳和健身气功等多种健身项目于一体的多功能交流平台。平台提供大量优质的教学视频、伴奏音乐(太极拳晨练音乐,广场舞音乐,健身气功音乐)、图文教程、运动科普和经验分享,为健身爱好者提供完善的运动指导平台。
  • 纳速QQ群乙:151815303
  • 纳速QQ群丙:79104490
  • 微信交流群:微信好友搜索【nasuwang】加小纳微信进群交流健身知识,备注【纳速】
  •                     或者扫描页面底部右侧二维码添加小纳微信>>>
  • 微信公众号

  • 微信群客服交流

  • Copyright © 2006-2021, 纳速健身网. | | 辽ICP备13002388号-1 辽公安网备21050202000005号公安网备号 纳速武术-乙 QQ