簡體   English   中英

熊貓字符串包含和替換

[英]Pandas string contains and replace

我有以下數據框

         A            B
0        France        United States of America
1        Italie        France
2        United Stats  Italy

我正在尋找一個可以接受(對於A列中A每個單詞)前4個字母,然后在B列中搜索這4個字母是否存在的函數。 現在,如果是這樣的話,我想用類似的值(類似前4個字母),以取代A的值B

示例:對於A列中A Italie一詞,我必須取Ital然后在B搜索是否可以找到它。 然后我想,以取代Italie與其類似的詞Italy

我試着做forstr.contains功能

但是仍然不能只接受前4個字母。

預期輸出:

         A                         B
0        France                   United States of America
1        Italy                    France
2        United Stats of America  Italy

為了進行總結,我正在尋找更正A列中的值以使其類似於b列中的值。

模糊匹配的解決方案fuzzywuzzy

from fuzzywuzzy import process

def fuzzyreturn(x):
    return [process.extract(x, df.B.values, limit=1)][0][0][0]


df.A.apply(fuzzyreturn)
Out[608]: 
0                      France
1                       Italy
2    United States of America
Name: A, dtype: object
df.A=df.A.apply(fuzzyreturn)

暫無
暫無

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

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