更改Pandas中的特定单词

pxy2qtax  于 2022-11-27  发布在  其他
关注(0)|答案(2)|浏览(185)

我有一个 Dataframe

city = pd.DataFrame({'id': [1,2,3,4],
                        'city': ['NRTH CAROLINA','NEW WST AMSTERDAM','EAST TOKYO','LONDON STH']})

如何将NRTH更改为NORTH,将WST更改为WEST,将STH更改为SOUTH,以便输出如下所示

id   city
1    NORTH CAROLINA
2    NEW WEST AMSTERDAM
3    EAST TOKYO
4    LONDON STH
toiithl6

toiithl61#

你好,亚瑟!我已经定义了mapping_dict,你可以在这里定义任何你想改变的单词。
为了改变它们,我做了一个单独的函数来Map城市名称。

import pandas as pd
city = pd.DataFrame({'id': [1,2,3,4],
                        'city': ['NRTH CAROLINA','NEW WST AMSTERDAM','EAST TOKYO','LONDON STH']})
mapping_dict = {'NRTH':'NORTH','WST':'WEST','STH':'SOUTH'}
def mapping_words(city_name):
    updated_name = ""
    for word in city_name.split():
        if word in mapping:
            updated_name += mapping[word]+" "
        else:
            updated_name += word+" "
    return updated_name.strip()

city['city'] = city['city'].apply(lambda x: mapping_words(x))
另一种优化方式
mapping_dict = {'NRTH':'NORTH','WST':'WEST','STH':'SOUTH'}
city['city'] = city['city'].replace(mapping_dict,regex=True)

我希望这对你有帮助。谢谢!

lndjwyie

lndjwyie2#

我们先定义一个替换字典,然后使用Series.replace(regex=True)替换字典关键字的单词边界。
第一个

相关问题