我在数据框df中有3列:在第3列“重复入场价”中,如果相同的原始数据的第2列“位置”为1,则我想复制同一列的上述情况上面的原始。否则,我想复制“进入价格重复”列中第一列“调整关闭”的大小写。此行为在XLS中使用3个“嵌套的if”非常简单,预期结果如下图所示[数据帧] [1] [1]:https://i.stack.imgur.com/0DzfQ.png
[使用以下代码在Python中执行此操作(使用2个嵌套的np.where,它不起作用,结果在下面的图片中,我不明白为什么。有人可以帮助和更正我的代码吗?(在“ position” = 1)的2次迭代之后复制停止
df2['Entry Price Repeat'] = df2['Adj Close'] df2['Entry Price Repeat'] = np.where(df2['Position'].shift(1) == 1, np.where(df2['Position'] == 1, df2['Entry Price Repeat'].shift(1), -df2['Adj Close'] ) ,df2['Adj Close'])
[[上面代码的结果] [1] [1]:https://i.stack.imgur.com/bxoU7.png
我在数据框df中有3列:在第3列“重复入场价”中,如果相同的原始数据的第2列“位置”为1,则我想复制同一列的上述情况...
如果我正确理解了您的问题,那么下面的代码应该可以解决。首先,在“位置”等于0的当前行或上一行中填充“重复入场价”。完成后,只需在前面填充中使用熊猫fillna方法即可。