如何在 Python Pandas Dataframe 中用逗号分隔的文本列中的单个单词替换文本片段?

How do I replace text snippets with single words in comma seperated text column in Python Pandas Dataframe?

提问人:angeliquelinde 提问时间:2/25/2023 更新时间:3/9/2023 访问量:49

问:

我想在 DataFrame 的文本列中映射以下值,如下所示:enter image description here

对此:

enter image description here

我想我可以使用字典将文本片段映射到单个单词。这是我尝试过的代码:

import pandas as pd

data = {"col": ['i am hungry, you are pretty', 'i am hungry, you are pretty, i love flowers', 
              'i am hungry, i love flowers', 'i am hungry,choccies are nice']} 

replace = {'hungry': 'i am hungry', 
        'pretty': 'you are pretty',
        'flowers': 'i love flowers',
        'choccies':'choccies are nice'}

new = df.replace({"col": replace})

但我只是拿回了原来的 DataFrame。

字符串 数据帧 查找和修改

评论


答:

0赞 Giovanni Giacometti 2/25/2023 #1

您需要切换字典的键和值,因为 replace 方法要求字典的格式为 {“what to replace” : “replacement”}。您还需要将参数 regex 指定为 true,以便将替换作为正则表达式筛选执行。这应该可以做到。

replace = { 'i am hungry'      : 'hungry', 
            'you are pretty'   :  'pretty',
            'i love flowers'   : 'flowers',
            'choccies are nice': 'choccies' }

df = df.replace({'col': replace}, regex = True)