我有一组可能出现在DataFrame字段中的可能值(从数据库中提取):
(N2 | N1 | N11 | N12 | N3 | N4 | N6 | N10 | N13 | N5 | N7 | N8 | N9)
该字段可以包含任何上述任意组合,例如:
" N1,N6,N9"
我想从字段的每个元素中提取仅具有最高"等级"意思是N9> N8> N7> N5 ......根据我上面的组的顺序。
因此,从示例中它将返回" N9"。对于" N1,N3,N11和#34;它将返回" N3"。
RegEx可以实现吗?我正在使用Python / Pandas。
提前多多感谢!
答案 0 :(得分:1)
考虑到您的数据框df
包含名为data
的数据列,这是一种不使用正则表达式的简单方法。将字符串拆分为列,然后对结果列表进行排序并获取第一个元素:
df.data.str.split(',').apply(lambda l: sorted(l, reverse=True)[0])
Out[7]:
0 N9
1 N3
Name: data, dtype: object