簡體   English   中英

如何在Python中替換數據框中的子字符串

[英]How to replace substrings in a dataframe in 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)

我怎樣才能做到這一點? (這不適用於當前形式)

您可以嘗試以下方法:

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數據balanabananabalana 不知道這是否有意...

將翻譯表轉換為字典似乎可以解決問題:

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM