我正在使用Python3.8上的一个数据框架,在那里我尝试复制Excel计算—一个基本的if
,有两个条件,其中一个是引用前面的一行
Backtest['trade_price']=0
Backtest.loc[(Backtest['z_en_crit']==1) &
(Backtest['trade_price'].shift(-1)==0), "trade_price"] = 1
第二个标准似乎被完全忽略了。。。astrade_price
应该只有一个1
z_en_crit trade_price
Datetime
2020-10-21 11:00:00+01:00 0.0 0
2020-10-21 12:00:00+01:00 0.0 0
2020-10-21 13:00:00+01:00 1.0 1
2020-10-21 14:00:00+01:00 1.0 1
2020-10-21 15:00:00+01:00 1.0 1
2020-10-21 16:00:00+01:00 0.0 0
如果你有任何想法如何使这项工作,也使它更快,我真的很感激!谢谢
编辑:
所需输出:
z_en_crit trade_price
Datetime
2020-10-21 11:00:00+01:00 0.0 0
2020-10-21 12:00:00+01:00 0.0 0
2020-10-21 13:00:00+01:00 1.0 1
2020-10-21 14:00:00+01:00 1.0 0
2020-10-21 15:00:00+01:00 1.0 0
2020-10-21 16:00:00+01:00 0.0 0
你想换成“z_en_crit”吗?此外,如果要匹配组中的第一个,而不是最后一个,则应反转移位方向
相关问题 更多 >
编程相关推荐