Skip to main content
 首页 » 编程设计

python之在 i 和 i+1 行条件下创建一个新的标志列

2025年05月04日14jiqing9006

当 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)