【发布时间】:2020-06-23 03:04:52
【问题描述】:
我想在我的数据框中添加一个新列,其中包含最新的“收入”值,其中“促销”== 1,不包括当前行。数据框将始终按“天”降序排序。对于靠近数据框底部的行,其中没有前一行 'promotion' == 1,理想情况下它应该不返回任何内容(但这不是硬性要求,因为我们通常对最近的记录最感兴趣)。
如果这是我的数据框:
import pandas as pd
import numpy as np
df = pd.DataFrame({'day':[10, 9, 8, 7, 6, 5, 4, 3, 2, 1],
'revenue':[12000, 13000, 17000, 14000, 16000,
15000, 19000, 17000, 12000, 11000],
'promotion':[0, 0, 1, 1, 0, 0, 1, 0, 1, 0]})
新列如下所示:
df['last_promo_rev'] = [17000, 17000, 14000, 19000, 19000, 19000, 12000, 12000, np.nan, np.nan]
【问题讨论】:
标签: python pandas dataframe feature-engineering