我有一个带有二进制预测(data['ypred']为1或0)和实际实现(data['y'])的数据帧,我想编写一个函数,计算最后n个值的滚动精度(即所有预测中正确预测的百分比)(数据已经按日期排序)。下面是最后2次观察的示例(注意第一行是NA,最后一行是50%,因为2次中只有1次是正确的):
dict = [{'ypred': '1','y': '1','rolWinProb': 'NA'},
{'ypred': '1','y': '1','rolWinProb': '100'},
{'ypred': '0','y': '1','rolWinProb': '100'},
{'ypred': '0','y': '1','rolWinProb': '100'},
{'ypred': '1','y': '0','rolWinProb': '50'}]
data = pd.DataFrame(dict)
有人能建议一种方法吗
也许是这样的:
data[(data['y'] ==1 ) & (data['ypred']==1)].rolling(10)
不确定,你的价值观来自哪里,但你能做什么:
参考https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.rolling.html
相关问题 更多 >
编程相关推荐