我想基于两列对数据框进行分组,并根据另一列对每个组进行排序,然后根据每个组的第一行为每个组创建新列!(col3是我的数据集中的日期)
数据帧:
col1 col2 col3
A 0 2.0
A 0 1.0
A 0 3.0
A 1 3.0
A 1 4.0
B 0 3.0
B 0 1.0
B 1 1.0
B 1 1.0
输出:
col1 col2 col3 col4
A 0 2.0 1.0
A 0 1.0 1.0
A 0 3.0 1.0
A 1 3.0 3.0
A 1 4.0 3.0
B 0 3.0 1.0
B 0 1.0 1.0
B 1 0.0 0.0
B 1 1.0 0.0
我尝试过这个:
active_users = active_users.groupby(['col1', 'col2']).apply(lambda x: x.sort_values('col3')).transform('first')
并收到此错误:
TypeError: first() missing 1 required positional argument: 'offset'
您可以使用以下方式创建此类列: