如何在Python中替换数据帧中的子字符串

2024-09-30 08:33:26 发布

您现在位置:Python中文网/ 问答频道 /正文


我有一个数据帧,我想根据另一个数据帧将一些单词替换为其他单词:

import pandas as pd
dist = pd.DataFrame([["21","apple"],["25","balana"],["30","lemon"]],columns=["idx","item"])
a = pd.DataFrame(["apple - banana"],columns=["pf"])
a['pf'] = a['pf'].replace(dist["item"], dist["idx"], regex=True)
print(a)

我该怎么做(这在当前形式下不起作用)


Tags: columns数据importappledataframepandasdistas
2条回答

将翻译表转换为字典似乎可以解决问题:

import pandas as pd
dist = pd.DataFrame([["apple","21"],["banana","25"],["lemon","30"]],columns=["item","idx"])
dist = dist.set_index('item')['idx'].to_dict()
a = pd.DataFrame(["apple - banana"],columns=["pf"])
a['pf'] = a['pf'].replace(dist, regex=True)
print(a)

你可以试试这个:

dist = pd.DataFrame([["21","apple"],["25","balana"],["30","lemon"]],columns= ["idx","item"])
a = pd.DataFrame(["apple - banana"],columns=["pf"])
b = dict(zip(dist["idx"], dist["item"]))

def replace_items(token):
    for key, value in b.items():
        token = token.replace(value, key)
    return token

a["pf"] = a["pf"].apply(replace_items)

请注意,dist数据帧中的bananabalana。不确定这是不是有意的

相关问题 更多 >

    热门问题