替换 pandas 数据框列中的子字符串 [英] replace substring in pandas data frame column

查看:73
本文介绍了替换 pandas 数据框列中的子字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用包含名为"raw_parameter_name"的列的数据框.在此列中,我具有不同的字符串值.几个值类似于以下模式"ABCD; MEAN". 我想做的是将每个值"ABCD; MEAN"替换为"ABCD; X-BAR".子字符串"ABCD"可能会有所不同,但模式; MEAN"是不变的,我想替换.使用替换"方法研究了不同的选项,但不知道如何仅替换子字符串而不是整个字符串.请指教. 预先谢谢你

I am working with dataframe that contains column named "raw_parameter_name". In this column i have different string values. Several values are like following pattern "ABCD;MEAN". What i am trying to do is to replace each value "ABCD;MEAN" with "ABCD;X-BAR". Sub string "ABCD" may vary but pattern ";MEAN" is constant i want to replace. Looked into different options using "replace" method but don't know how to replace sub string only and not whole string. Please advise. Thank you in advance

推荐答案

您可以使用正则表达式模块re例如:

You can use regex module re for example:

import pandas as pd
import re

df = pd.DataFrame({"row_parameter_name":['abcd;MEAN','Dogg11;MEAN',';MEAN']})

Out[126]:
  row_parameter_name
0          abcd;MEAN
1        Dogg11;MEAN
2              ;MEAN 

df['row_parameter_name'] = df['row_parameter_name'].apply(lambda x: re.sub(';MEAN$',';X-BAR',x))

In [128]: df
Out[128]:
  row_parameter_name
0         abcd;X-BAR
1       Dogg11;X-BAR
2             ;X-BAR

这篇关于替换 pandas 数据框列中的子字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆