我有像这样的数据框:
姓名 | 地址 |
---|---|
阿努吉 | Anuj,Sinha,BB |
辛哈 | Sinha,Anuj BB |
在列地址中,我想用 - 替换所有行中除第一个逗号之外的所有逗号(,)。
任何人都可以建议我可能的解决方案吗?
假如:
df.dtypes
Customer ID Int64
First_name-Last_name string
Address string
Phone string
Secondary_station string
Customer_disconnected string
如果最多有 2 个逗号,您可以使用这个简单的正则表达式:
df['Address'] = df['Address'].str.replace('(,.*),', r'\1-')
输出:
Name Address
0 Anuj Anuj,Sinha-BB
1 Sinha Sinha,Anuj BB
如果可能有超过 2 个逗号,您可以执行以下操作:
df['Address'] = df['Address'].str.split(',').apply(lambda x: x[0]+','+'-'.join(x[1:]))
或者,更有效:
splits = df['Address'].str.split(',', 1)
df['Address'] = splits.str[0]+','+splits.str[1].str.replace(',', '-')
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句