根据熊猫中每个已排序组的firsr行创建一列

问题描述 投票:1回答:1

我想基于两列对数据框进行分组,并根据另一列对每个组进行排序,然后根据每个组的第一行为每个组创建新列!(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'
python python-3.x pandas pandas-groupby
1个回答
0
投票

您可以使用以下方式创建此类列:

© www.soinside.com 2019 - 2024. All rights reserved.