AttributeError: 'int' object has no attribute 'log'
我们有时候在对组数进行操作时候,偶尔会出现这个问题.
比如:
#coding:utf-8 import pandas as pd import numpy as np if __name__ == '__main__': np.random.seed(0) df = pd.DataFrame(100 + np.random.randn(100).cumsum(), columns=['weight']) df['pct_change'] = df.weight.pct_change() df['w_log'] = np.log(np.asarray(df['weight']+2 , dtype=object)) print df['w_log']
会出现这个问题:
df['w_log'] = np.log(np.asarray(df['weight']+2 , dtype=object)) AttributeError: 'float' object has no attribute 'log'
这个问题的原因是object没有log操作:上述操作等同于
np.log(np.array([x], dtype=object)) <-> np.array([x.log()], dtype=object)
那么我们该怎么样来修正呢?
#coding:utf-8 import pandas as pd import numpy as np if __name__ == '__main__': np.random.seed(0) df = pd.DataFrame(100 + np.random.randn(100).cumsum(), columns=['weight']) df['pct_change'] = df.weight.pct_change() df['w_log'] = np.log(np.asarray(df['weight']+2 , dtype=float)) print df['w_log']
将object对象,改成base类型就可以了.
结果:
0 4.642120 1 4.645969 2 4.655321 3 4.676410 4 4.693652 5 4.684666 6 4.693403 7 4.692016 8 4.691069 9 4.694830 10 4.696146 11 4.709337 12 4.716171
完.
编程是一种快乐,享受代码带给我的乐趣!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
2014-01-05 HDUOJ----2063过山车
2014-01-05 HDUOJ------Worm
2014-01-05 HDUOJ-------2149Public Sale