我正在处理熊猫和一个相当大的excel文档。我的目标是查找和替换字符串中的特定字符,并将其替换为零,基本上删除字符。字符串位于特定列中。下面您将看到我为查找和替换而创建的代码,但是python没有给我错误消息,当我检查保存的文件时,没有任何更改。我做错了什么
import pandas as pd
df1 = pd.read_csv('2020.csv')
(df1.loc[(df1['SKU Code'].str.contains ('-DG'))])
dfDGremoved = (df1.loc[(df1['SKU Code'].str.contains('-DG'))].replace('-DG',''))
dfDGremoved.to_csv('2020DRAFT.csv')
您的代码有点过度工程化,Python的
replace
方法会忽略不包含要替换的子字符串的字符串,因此contains
调用是不必要的。创建第二个数据帧也是不必要的,pandas
可以处理就地替换要获得所需的结果,可以使用map,将函数应用于序列中的每个元素(数据帧中的单个列是该序列的一部分),并将其组合到lambda function:
将其稍微解压缩:
您可以使用pandas.Series.str.replace()。它执行正则表达式替换
相关问题 更多 >
编程相关推荐