给定这个数据框:
import pandas as pd
import numpy as np
data = {'column1': [True,False, False, True, True],
'column2' : [np.nan,0.21, np.nan, 0.2222, np.nan],
'column3': [1000, 0, 0, 0, 0 ]}
df = pd.DataFrame.from_dict(data)
print(df)
column1 column2 column3
0 True NaN 1000
1 False 0.2100 0
2 False NaN 0
3 True 0.2222 0
4 True NaN 0
当column2行不是NaN时,如何将结果与column3的上一个值相乘?否则只返回column3的上一个值?
结果应该像这样:
column1 column2 column3
0 True NaN 1000
1 False 0.2100 210
2 False NaN 210
3 True 0.2222 46.662
4 True NaN 46.662
我一直在浏览类似的问题,但是我就是想不明白...
我很感谢您的帮助 :)