python - 在 pandas 中使用 lstrip 时删除多余的字符

标签 python python-3.x pandas dataframe strip

我有一个数据框,其中有一列如下

输入:

  CD

  Component Description_CAP YO
  Component Description_CAPE IO
  Component Description_CLOSE SO
  Component Description_CAT TO
  Component Description_CAPP TTO
  Component Description_CLOSE IUO

我使用了lstrip,其中Component_Description后面的“C”被删除,这是错误的

      df['CD'] = df['CD'].map(lambda x: x.lstrip('Component Description_'))

预期结果:

  CD

  CAP YO
  CLOSE SO
  CAT TO
  CAPP TTO
  CLOSE IUO

我得到的实际结果

       CD

       AP YO
       LOSE SO
       AT TO
       APP TTO
       LOSE IU

最佳答案

问题出在您的解决方案中,如果使用lstrip它会从左侧删除字符串中定义的所有字母。

解决方案是使用Series.str.replace使用 ^ 作为正则表达式中的起始字符串:

df['CD'] = df['CD'].str.replace(r'^Component Description_', '')
print (df)
          CD
0     CAP YO
1    CAPE IO
2   CLOSE SO
3     CAT TO
4   CAPP TTO
5  CLOSE IUO

关于python - 在 pandas 中使用 lstrip 时删除多余的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57376173/

相关文章:

Python Kerberos-1.1.1.tar.gz 在 Windows 上安装失败

python - 在 Python 中使用 Tweepy IDE 时出现错误?

python - 等待异步功能完成

python - 如何将Python列表转换为pandas DataFrame :

python - 带有字符串列名的 DataFrame

python - 如何对 Pandas 数据框的产品求和?

python - 使用 pywin32 更改打印机托盘

python - Kivy Python - 带有部分的回调函数

python - 在 matplotlib 中更改字体

python - 从 power shell 启动时 Jupyter Notebook 内核未连接