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

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)


我怎样才能做到这一点? (这不适用于当前形式)

最佳答案

您可以尝试以下方法:

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)


请注意,banana数据框中的distbalana。不知道这是否有意...

关于python - 如何在Python中替换数据框中的子字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52354800/

10-12 12:20
查看更多