gpt4 book ai didi

python - 选择集合中最高权重值的优雅方式

转载 作者:太空宇宙 更新时间:2023-11-03 10:55:54 24 4
gpt4 key购买 nike

我有一个这样的列表

l = ['xyz','abc','mnq','qpr']

这些值被加权使得 xyz>abc>mnq>qpr我有一个 pandas 数据框,其中有一列包含值集。

                      COL_NAME    
0 set(['xyz', 'abc'])
1 set(['xyz'])
2 set(['mnq','qpr'])

现在,我想选择集合中的最高值,以便在我应用自定义函数后剩下

                  COL_NAME    
0 set(['xyz'])
1 set(['xyz'])
2 set(['mnq'])

有没有一种优雅的方法可以在不求助于权重字典的情况下完成这个过程?

最佳答案

你可以使用pd.Categorical使用参数 ordered=True 并设置 categories=l[::-1] 以获得您想要的顺序。

def max_cat(x):
return set([pd.Categorical(x, l[::-1], True).max()])

df.COL_NAME.apply(max_cat)

0 {xyz}
1 {xyz}
2 {mnq}
Name: COL_NAME, dtype: object

关于python - 选择集合中最高权重值的优雅方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40851338/

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