【问题标题】:use python to replace multiple words from a dataframe string column使用python替换数据框字符串列中的多个单词
【发布时间】:2018-01-02 04:40:37
【问题描述】:

我有一个带有字符串列的 DataFrame 'df'。我试图从此列中删除特殊值列表。

例如如果列'number'是:onE1,我希望它改为1;如果列是 FOur4,我希望它更改为 4

我使用了以下代码:

for i in ['onE','TwO','ThRee', 'FOur']:
    print(i)
    df['new_number'] = df['number'].str.replace(i,'')

虽然 print(i) 显示 i 遍历字符串列表,但列 'new_number' 仅从列 'number' 中删除了 'FOur',其余字符串 'onE','TwO','ThRee' 仍然在“new_number”列中,表示onE1,仍然是onE1;但值 FOur4 在“new_number”列中更改为 4

那么这段代码有什么问题呢?

【问题讨论】:

  • 你应该给我们看df['number']的内容
  • 您要删除包含'fOur' 的行吗?你能告诉我df 怎么样?

标签: python


【解决方案1】:

要从 dataFrame 中的字符串中获取数字,您可以使用:

number = ''.join(x for x in df['number'].str if x.isdigit())

【讨论】:

    【解决方案2】:

    我发现了与此问题类似的帖子 pandas replace (erase) different characters from strings

    我们可以使用正则表达式来解决这个问题 df['new_number'] = df['number'].str.replace('onE|TwO|ThRee|FOur','')

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-17
      • 2020-12-27
      • 1970-01-01
      • 1970-01-01
      • 2012-11-26
      相关资源
      最近更新 更多