当 i 处的行具有“subcategory_click”且 i+1 具有“add_basket_click”时,创建一个值为 1 的新列。所以输入就像:
event_name
Basket_Viewed
remove_basket_click
subcategory_click
add_basket_click
subcategory_click
add_basket_click
add_basket_click
add_basket_click
subcategory_click
subcategory_click
subcategory_click
subcategory_click
add_basket_click
add_basket_click
输出会是这样的:
event_name Flag
Basket_Viewed
remove_basket_click
subcategory_click 1
add_basket_click
subcategory_click 1
add_basket_click
add_basket_click
add_basket_click
subcategory_click
subcategory_click
subcategory_click
subcategory_click 1
add_basket_click
add_basket_click
寻找 pythonic 解决方案,因为真实的数据集非常庞大。
请您参考如下方法:
使用shift
df['Flag']=(df['event_name'].eq('subcategory_click') & df['event_name'].shift(-1).eq('add_basket_click')).astype(int)
