python - 如何从数据框中的列中替换值/字符串?
问题描述
我想从这样的数据框中替换列中的一些字符串
df["column"]
------------------
1. Ne Road
2. Rosemarys street se
3. Plunkett pkwy
4. like that so on.....
像这样有数千个值在这里我想像这样替换 Ne 到 NE,se 到 SE,pkwy 到 Parkway
所以这是我的代码:
def replace_all(text, dic):
for i, j in dic.items():
text = text.replace(i, j)
return text
my_text = df.iloc[:,2] -----### '2' is the Column number here in my Dataframe ###
reps = {
'se' : 'SE'
'Ne' : 'NE'
'pkwy' :'"Parkway'
}
df["column"] = replace_all(my_text,reps)
我想知道我哪里出错了,请帮助我解决这个问题。
提前致谢!!
解决方案
这是使用apply
with的一种方法lambda
演示:
import pandas as pd
def replaceString(val):
reps = {
'se' : 'SE',
'Ne' : 'NE',
'pkwy' :'"Parkway',
'sw': "SW",
'rd':"Road"
}
for key, v in reps.items():
if key in val:
val = val.replace(key, v)
return val
df = pd.DataFrame({"column": ['Ne Road', 'Rosemarys street se', "Plunkett pkwy", "sw Trampoline rd"]})
print(df["column"].apply(replaceString))
输出:
0 NE Road
1 RoSEmarys street SE
2 Plunkett "Parkway
3 SW Trampoline Road
Name: column, dtype: object
推荐阅读
- javascript - 在 Android 设备上放大时图像模糊
- c# - 在 C# 中使用 WebClient 通过 multipart-form-data 上传文件
- node.js - Loopback 4中如何查询相关对象
- typo3 - 以编程方式更改模型内联元素的顺序
- laravel - 在laravel中将项目上传到cpanel时图像未显示
- javascript - 从 Bootstrap SelectPicker 中获取选定的值
- r - FTP download.file():错误(无法打开 URL)和警告(InternetOpenUrl 失败:'登录请求被拒绝)
- sql - postgresql - 如何从文件中插入大量 JSON 对象?
- html - 使用if语句Angular 7添加html内容
- selenium - 机器人框架中的切换浏览器命令不起作用