如果在pandas python中后跟/, - 或*,则替换字符串的一部分

时间:2017-11-02 18:26:38

标签: python pandas

我退出了Python新手,也退出了堆栈溢出。这个平台对我来说很有帮助,可以获得我想要执行代码的功能。我正在处理pandas中的数据帧,我只想在/ or - or *之后替换字符串的一部分。示例字符串是 - MAA-BOM/MADRAS
我想要替换MAA to MADRAS, BOM to BOMBAY, MAD to MADRID。所以所需的输出就像MADRAS-BOMBAY/MADRAS。我只想要MAA and BOM to be replaced while MAD in MADRAS should remain intact。我正在使用.replace()字典,但这并没有给我想要的输出。
非常感谢任何帮助 提前谢谢。

1 个答案:

答案 0 :(得分:0)

构建映射字典:

m = {'MAA' : 'MADRAS', 'BOM': 'BOMBAY', 'MAD' : 'MADRID'}

现在,在您的专栏上致电str.replace

df['Col'] = df['Col'].str.replace(r'.*?(?=[/*-])', 
                        lambda x: m.get(x.group(), None))