【发布时间】:2021-02-07 17:31:25
【问题描述】:
修改之前的问题:
我如何将所有“,”(即逗号后空格)替换为“_”,除非“,”(逗号后空格)后跟单词“LLC”或“Inc”(然后什么都不做)?
我想改变:
- “TEXAS ENERGY MUTUAL, LLC、BOBBY GILLIAM、STEVE PEREIRA 和 ANDY STITT”
- “Grape, LLC, Andrea Gray, Jack Smith”
- “Stephen Winters, Apple, pear, Inc, Sarah Smith”
至此:
- “TEXAS ENERGY MUTUAL, LLC_BOBBY GILLIAM_STEVE PEREIRA_ANDY STITT”
- “葡萄,LLC_Andrea Gray_Jack Smith”
- “Stephen Winters_Apple_pear, Inc_Sarah Smith”
我认为它会从以下代码的一些变体开始,但我无法弄清楚例外条件。
df['Column_Name'] = df['Column_Name'].str.replace(', ','_') 干杯!
【问题讨论】:
-
您可以搜索
,和, LLC和, lnc索引,并只选择不与最后两个选项相交的内容。强烈推荐将索引转换为set -
,后面的空格数是否固定为1?或者可以有 0、1 或 2 个或更多空格?, (?!Inc|LLC)那就不行了,否则,它是一个解决方案(这里可能有一个单词边界,但它取决于实际要求)。 -
试试
replace(r',(?!\s+(?:LLC|Inc)\b)\s+', '_')
标签: python regex pandas dataframe replace