我有一个名为的数据框myvolabserr
,我想计算每列的值 > 10% 的百分比。
我这样做的方式是
我正在做第一步,我试过了
out = myvolabserr
for i in range(0, len(out.axes[1])):
out.iloc[:,i] = myvolabserr.iloc[:,i].apply(lambda x: 'True' if x > 0.1 else 'False')
print(out)
但我说错了
'>' not supported between instances of 'str' and 'float'
然后我检查我的 df 的类型myvolabserr
:
ticker
Absolute Error (Volatility) AAPL float64
AMD object
BIDU float64
GOOGL float64
IXIC float64
MSFT float64
NDXT float64
NVDA float64
NXPI float64
QCOM float64
SWKS float64
TXN float64
dtype: object
任何人都可以帮助解决错误吗?
也许有没有其他方法可以一次性计算异常值的百分比,而不是我的两步法?
这里不需要循环,将值转换为数字并按标量进行比较:
out = myvolabserr.astype(float) > 0.1
对于百分比使用mean
- True
s 像1
s一样处理:
s = out.mean()
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句