繁体   English   中英

替换 Python dataframe 中的列中的字符串

[英]Replace string from column in Python dataframe

参考: python 替换特定 dataframe 列中的字符串

我正在尝试搜索列,替换字符串并删除字符串。 任何人都可以帮忙吗?

示例:0369BODMIN
用“GIF”替换最初的“0”
删除第 5 个字符 ([5:]) 之后的任何内容
所以它变成了GIF369

使用 pandas 数据帧和正则表达式。

df.loc[df['df'].str.lower().str.startswith('0'), 'CustomerID'] = 
df['CustomerID'].str.extract('(Chaud\w+ )', expand=False)

excel 板材示例

编辑:我的代码 - 修改为遍历客户代码列,但是当我导出 dataframe 时,它只导出客户代码列而不是整个 DF。

import pandas as pd
customer_data = pd.read_csv(r'C://customers.csv')
customer_data = customer_data['*Customer Code'].apply(lambda x: x.replace('0','GIF',1)[:6])
print(customer_data)
customer_data.to_csv('customersMerged.csv', index=False)

是否需要使用正则表达式模式? 您还可以使用applylambda函数,如下所示:

前两行我只是生成一个列名为'Customer Code'和值'0765POOLE'df

df = pd.DataFrame(columns=['Customer Code'])
df.loc[0,'Customer Code'] = '0765POOLE'
df['Customer Code'] = df['Customer Code'].apply(lambda x: x.replace('0','GIF',1)[:6])
print(df)

Output:
  Customer Code
0        GIF765

请注意:

  1. 此代码将在'Customer Code'列的所有值中将第一次出现的0替换为GIF ,然后对其进行切片以仅保留前 6 个字符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM