无法乘以 pandas "instance method" - 如何更改为 float
Can not multiply a pandas "instance method" - how to change to float
我正在使用 Pandas 计算数据框中列的标准差,然后将其乘以 100 得到百分比,最后打印如下:
import pandas as pd
results = pd.read_csv("MRAret.csv")
vol = results["Return"].std
print "Volatility: ",round(vol*100,2),"%"
但是我收到以下错误:
File "C:/Users/Stuart/Documents/SPYDER/MRA Analysis.py", line 37, in <module>
print "Volatility: ",round(vol*100,2),"%"
TypeError: unsupported operand type(s) for *: 'instancemethod' and 'int'
很明显 "vol" 变量类型是 "instancemethod",这是我以前从未遇到过的(我是 Pandas 的新手)。
我尝试使用以下方法将类型更改为浮动:
vol = float(vol)
但出现以下错误:
TypeError: float() argument must be a string or a number
当我在 iPython 控制台中输入 "vol" 时,我得到了输出:
In [95]: vol
-> vol()
Out[95]: 0.005856992616571794
但是当我输入时:
print vol
我得到:
In [96]: print vol
<bound method Series.std of 0 0.000000
1 0.004864
2 0.001604
...
2369 0.004290
2370 0.014001
Name: Return, dtype: float64
我不明白它怎么可以同时是一个值和一组值。
谁能告诉我如何操作 "instancemethod" 类型的 vol 变量,以便进行算术计算。
非常感谢。
您的错误来自这个错字:
vol = results["Return"].std
本质上 vol
引用了您想执行此操作的 std
方法:
vol = results["Return"].std()
这是该方法的输出
我正在使用 Pandas 计算数据框中列的标准差,然后将其乘以 100 得到百分比,最后打印如下:
import pandas as pd
results = pd.read_csv("MRAret.csv")
vol = results["Return"].std
print "Volatility: ",round(vol*100,2),"%"
但是我收到以下错误:
File "C:/Users/Stuart/Documents/SPYDER/MRA Analysis.py", line 37, in <module>
print "Volatility: ",round(vol*100,2),"%"
TypeError: unsupported operand type(s) for *: 'instancemethod' and 'int'
很明显 "vol" 变量类型是 "instancemethod",这是我以前从未遇到过的(我是 Pandas 的新手)。
我尝试使用以下方法将类型更改为浮动:
vol = float(vol)
但出现以下错误:
TypeError: float() argument must be a string or a number
当我在 iPython 控制台中输入 "vol" 时,我得到了输出:
In [95]: vol
-> vol()
Out[95]: 0.005856992616571794
但是当我输入时:
print vol
我得到:
In [96]: print vol
<bound method Series.std of 0 0.000000
1 0.004864
2 0.001604
...
2369 0.004290
2370 0.014001
Name: Return, dtype: float64
我不明白它怎么可以同时是一个值和一组值。
谁能告诉我如何操作 "instancemethod" 类型的 vol 变量,以便进行算术计算。
非常感谢。
您的错误来自这个错字:
vol = results["Return"].std
本质上 vol
引用了您想执行此操作的 std
方法:
vol = results["Return"].std()
这是该方法的输出