如果系列的值包含熊猫中的一组特定字符,则替换后续字符

我有一个这样的数据框:


df:

col1      col2         col3

 1       123xy56      pyrxyz 

 3        hcv           P

 xy12      R            T

 5        453xy         Z

 2        lxy6          Q

我想删除数据框每一列中以 xy 开头的所有内容。如果任何值以 xy 开头,则将其替换为零。


最终的数据框应如下所示:


col1      col2         col3

 1        123           pyr

 3        hcv           P

 0         R            T

 5        453           Z

 2         l            Q


ABOUTYOU
浏览 151回答 2
2回答

狐的传说

您可以使用替换两次:result = df.replace('xy.*', '', regex=True).replace('', 0)print(result)输出  col1 col2 col30    1  123  pyr1    3  hcv    P2    0    R    T3    5  453    Z4    2    l    Q

MMTTMM

效率不高但有效df.apply(lambda x : x.str.split('xy').str[0]).replace('',0)Out[386]:   col1 col2 col30    1  123  pyr1    3  hcv    P2    0    R    T3    5  453    Z4    2    l    Q
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python