我有一个看起来像的数据框(df):
date A
2001-01-02 1.0022
2001-01-03 1.1033
2001-01-04 1.1496
2001-01-05 1.1033
2015-03-30 126.3700
2015-03-31 124.4300
2015-04-01 124.2500
2015-04-02 124.8900
对于整个时间序列,我试图将今天的价值除以昨天,并使用以下内容记录结果:
df["B"] = math.log(df["A"] / df["A"].shift(1))
但是我收到以下错误:
TypeError: cannot convert the series to <class 'float'>
我怎样才能解决这个问题?我尝试使用以下方法转换为 float:
df["B"] .astype(float)
但是什么也做不了。
原文由 Stacey 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以改用 numpy.log。 Math.log 需要一个数字,而不是数组。