如何将破折号 (-) 的所有实例替换为 pandas 数据帧中字符串中间的数字零 (0)?
Posted
技术标签:
【中文标题】如何将破折号 (-) 的所有实例替换为 pandas 数据帧中字符串中间的数字零 (0)?【英文标题】:How do i replace all instances of a dash (-) with the number zero (0) in the middle of a string in pandas dataframe? 【发布时间】:2020-02-22 00:18:15 【问题描述】:我有一列有 5 个数字,然后是破折号,然后是另外 5 个数字,例如 44004-23323。我想删除中间的那个破折号。我希望输出是这样的 44004023323 我在下面尝试了这段代码,但它不起作用。
df['Lane'] = df['Lane'].apply(lambda x: "0" if x == "-" else x)
【问题讨论】:
你能发布df['Lane']
的内容吗?
【参考方案1】:
.str.replace() 怎么样?
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.str.replace.html
Pandas: replace substring in string
# see documentation for other parameters, such as regex and case
df['Lane'] = df['Lane'].str.replace('-', '0')
【讨论】:
@JumaHamdan 破折号总是在中间吗?此解决方案将替换字符串中任何位置的所有破折号。【参考方案2】:试试这个
df['Lane'] = df['Lane'].apply(lambda x: str(x).replace('-','0'))
【讨论】:
以上是关于如何将破折号 (-) 的所有实例替换为 pandas 数据帧中字符串中间的数字零 (0)?的主要内容,如果未能解决你的问题,请参考以下文章