[英]Applying lambda function to dataframe results in no output
我有一个 DataFrame,其中包含一年数据的股价变化百分比。 我正在尝试编写一个计算股票年化波动率的 function。 这是我的 function:
def getVolatility(stock):
data = stock.history(period="1y")
data['PCT'] = data['Close'].astype(float).pct_change().apply(lambda x: np.log(1+x))
data_pct = data['PCT']
mean = "{:.15f}".format(data_pct.mean())
#sqd = data_pct.apply(lambda x: (x-mean)**2)
print(mean)
#print(sqd)
注释掉的行#sqd = data_pct.apply(lambda x: (x-mean)**2)
用于计算方差方程中的分子。 但是,当取消注释该行时,整个 function 无法打印。 data_pct
在注释掉的行上方工作,所以我很困惑为什么#sqd = data_pct.apply(lambda x: (x-mean)**2)
是行不通的。
注释掉后,计算平均值并打印出来。
有没有人知道为什么这个 function 本质上会导致整个 function 不做我知道的工作,比如打印?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.