是否可以根据不同列中的尾随行在pandas数据框中进行计算?像这样的东西 .
frame = pd.DataFrame({'a' : [True, False, True, False],
'b' : [25, 22, 55, 35]})
我希望输出为:
A B C
True 25
False 22 44
True 55 55
False 35 70
当列A中的 trailing row 为False时,列C与列B相同,当列A中的 trailing row 为真时,列C为列B * 2?
1 回答
您可以使用where Series方法:
或者你可以使用apply(但这通常会更慢):
由于您使用的是"trailing row",因此需要使用shift:
并使用相反的方式:
并更改第一行(例如更改为NaN,in pandas we use NaN for missing data)