我有一个数据框看起来像是
Group_ID probability
34883 0.002676
34883 0.17826266
34883 0.01399753
34883 0.04569782
34883 0.02799506
34883 0.02634829
34883 0.02923014
34883 0.13544669
34883 0.07595718
34883 0.19246604
34883 0.20028818
34883 0
34883 0
34883 0.07163442
34897 0.03329843
34897 0.07643979
34897 0.09570681
34897 0.00376963
34897 0.01780105
34897 0.0008377
34897 0.08125654
34897 0.10764398
34897 0.25780105
34897 0.10910995
34897 0
34897 0.02743455
34897 0.18890052
34897 0
其中,对于每个Group_ID
,probability
中的概率和为1.我想创建一个名为top 3
的新列,它表示每个Group_ID的最大3个概率的位置,如果该行具有该Group_ID的最大概率,则top3=1,否则为零.因此,结果看起来像是:
Group_ID probability top3
34883 0.002676 0
34883 0.17826266 1
34883 0.01399753 0
34883 0.04569782 0
34883 0.02799506 0
34883 0.02634829 0
34883 0.02923014 0
34883 0.13544669 0
34883 0.07595718 0
34883 0.19246604 1
34883 0.20028818 1
34883 0 0
34883 0 0
34883 0.07163442 0
34897 0.03329843 0
34897 0.07643979 0
34897 0.09570681 0
34897 0.00376963 0
34897 0.01780105 0
34897 0.0008377 0
34897 0.08125654 0
34897 0.10764398 0
34897 0.25780105 1
34897 0.10910995 1
34897 0 0
34897 0.02743455 0
34897 0.18890052 1
34897 0 0
我在谷歌上搜索了一下,我认为这可能与idxmax有关,但我不确定如何继续.提前谢谢您.