2 回答

TA贡献1827条经验 获得超9个赞
这对你有用吗?
df["last_stage"] = df.groupby("Name")["Stage"].transform("last")
print(df)
Name Stage stage_number last_stage
0 a Open 1 Complete
1 a Paid 2 Complete
2 a Transit 3 Complete
3 a Wait 4 Complete
4 a Complete 5 Complete
5 b Open 1 Canceled
6 b Paid 2 Canceled
7 b Transit 3 Canceled
8 b Wait 4 Canceled
9 b Canceled 5 Canceled

TA贡献1877条经验 获得超1个赞
如果你真的想按照你的功能,你可以这样做:
def stage(df):
for name, group in df.groupby('Name'):
for i in range(0, len(group)):
return group['Stage'].iloc[-1]
df['last_stage'] = df.apply(stage, axis = 1)
添加回答
举报