gpt4 book ai didi

python - 按 ID 分组并对一列的值应用条件

转载 作者:行者123 更新时间:2023-12-04 07:44:05 24 4
gpt4 key购买 nike

我是 Pandas 图书馆的新手,非常感谢您的帮助。
这是我的输入


ID
日期
标签
股票


机管局
01/26/2020

100

机管局
2020/01/27
错误的
200

BB
2020/01/28
错误的
300

BB
01/29/2020

500

BB
01/30/2020
错误的
100

抄送
01/26/2020

200

抄送
2020/01/27
错误的
300

抄送
2020/01/28
错误的
100

抄送
01/29/2020

400


我想查看 Label 列,对于为每个 ID 找到的第一个“TRUE”标签,我需要在新列中复制股票的值。如果一个 ID 有多个 TRUE,我只需要考虑第一个。
这是我想要获得的输出:


ID
日期
标签
股票
新的


机管局
01/26/2020

100
100

机管局
2020/01/27
错误的
200

BB
2020/01/28
错误的
300

BB
01/29/2020

500
500

BB
01/30/2020
错误的
100

抄送
01/26/2020

200
200

抄送
2020/01/27
错误的
300

抄送
2020/01/28
错误的
100

抄送
01/29/2020

400



感谢您的帮助!

最佳答案

另一个版本,使用 .groupby() :

m = df.index.isin(
df[df["LABEL"] == True].reset_index().groupby("ID").index.first()
)
df.loc[m, "NEW"] = df.loc[m, "STOCK"]
print(df)
打印:
   ID        DATE  LABEL  STOCK    NEW
0 AA 01/26/2020 True 100 100.0
1 AA 01/27/2020 False 200 NaN
2 BB 01/28/2020 False 300 NaN
3 BB 01/29/2020 True 500 500.0
4 BB 01/30/2020 False 100 NaN
5 CC 01/26/2020 True 200 200.0
6 CC 01/27/2020 False 300 NaN
7 CC 01/28/2020 False 100 NaN
8 CC 01/29/2020 True 400 NaN

关于python - 按 ID 分组并对一列的值应用条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67291004/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com