python -- Pandas 字符串替换
程序员文章站
2022-06-22 16:06:22
...
Pandas 作为python最常用的数据包之一经常会被用到,其涉及数据替换的方法有很多,下面简述我了解的几种方法:
1. 常用的series 的 replace
replace(
self,
to_replace=None, # 替换前的数据
value=None, # 替换后的数据
inplace=False, # 是否修改源数据
limit=None, # 修改限制
regex=False, # 是否使用正则
method="pad", # 填充方式,还有‘ffill’ 和‘bfill’
)
1. 简单的单个和多个数据替换
df.web.replace('RAY', "ray") # 单对单
df.web.replace(['RAY', '365'], "A") # 多对单
df.web.replace(['RAY','YB-IM','1X'], ["A", "B","C"]) # 多对多, 数量要对应
注:未设置inplace时返回替换后的结果,源数据不变,inplace设置为True直接修改源数据
2. 使用字典修改对应值
注意:以上替换需要完全匹配才能替换
3. 使用正则修改
配置regex=True则表示使用正则,正则则会寻找匹配的即替换
写法有多种:
value = {'RAY': 'A', 'YB-FY': 'B', 'YB-IM': 'C', '1X': 'D', '365': 'E'}
k = ['RAY', 'YB-FY', 'YB-IM', '1X', '365']
v = "ABCDE"
df.web.replace(value, regex=True)
df.web.replace(k, list(v), regex=True) # 注意如果不使用list,则表示多对单
df.web.replace(regex=value)
df.web.replace(value=list(v), regex=k)
2. Pandas 中str.replace()
str.replace()的正式形式为 Series.str.replace(pat, repl)
- pat为想要寻找的模式,一般为正则表达式,
- repl为要替换进去的字符串或函数
- 简单替换
注:使用的时正则,匹配到即替换,不需要完全匹配
- 使用函数
. 正则的使用可以千变万化,当使用函数后可以很方便的根据自定义规则去修改值
上一篇: [并行计算] 2. OpenMP简介
下一篇: 【Spring学习笔记】IoC、DI