我需要根据列表分割数据和映射值
df
Id String
1 JHA PQR 20 STO KJAN
2 LKS JHA PLA; NIYM
3 LMA\KHA 20 HYS,KNSN
4 JHA, PQR STO 20 KJAM
5 JHA PQR|STO/KJAOP
List_to_map = [JHA, LMA, STO, PQR, LKS]
df_output
Id String Values
1 JHA PQR 20 STO KJAN JHA+PQR+STO
2 LKS JHA PLA; NIYM LKS+JHA
3 LMA\KHA 20 HYS,KNSN LMA
4 JHA, PQR STO 20 KJAM JHA+PQR+STO
5 JHA PQR|STO/KJAOP JHA+PQR+STO
我需要将列字符串值映射到列表,如果列表中存在这些值,则需要将这些值合并并创建一个新列
您可以使用^{} 使用regex } 获得} 将匹配字符串与
\W
对非单词字符进行拆分,然后通过^{List_to_map
的公共元素。最后,使用^{+
连接起来,如下所示:结果:
或者,如果要保持原始字符串的顺序,也可以使用:
结果:
请注意,使用numpy函数
np.intersect1d()
比使用Python列表理解更快。但是,匹配列表将基于List_to_map
字符串序列。如果字符串concat序列不重要,我建议使用np.intersect1d()
以加快执行时间对lsit的每个值使用带单词边界的^{} ,然后通过^{} 连接在一起:
相关问题 更多 >
编程相关推荐