题目
根据每个session_id分组,将popular最大的值设为这个session中所有popular的值
category item_id label popular session_id
0 4729 True 53.0 4069
0 4729 True 53.0 4069
0 4729 True 53.0 4069
0 5140 True 351.0 4069
0 5140 True 351.0 4069
0 5140 True 351.0 4069
0 5140 True 351.0 4069
0 5210 True 25.0 9797
0 5210 True 25.0 9797
0 5210 True 25.0 9797
0 4999 True 8.0 9797
0 4999 True 8.0 9797
0 604 True 10.0 34213
0 1785 True 214.0 34213
0 666 True 46.0 34213
0 5325 True 1129.0 34544
0 5322 True 3586.0 34544
0 5322 True 3586.0 34544
代码
import pandas as pd
# 根据 session_id 分组,将每个会话中的 popular 的最大值设为该会话中所有 popular 的值
df['popular'] = df.groupby('session_id')['popular'].transform('max')
# 移除重复行(根据具体需要选择移除或否)
df = df.drop_duplicates().reset_index(drop=True)
print(df)