Python 3.x 检查数据帧中的行是否大致对应
我有一个数据框,其中有摩洛哥的城市名称,还有一个有类似名称,但编码不好。这是第一个:Python 3.x 检查数据帧中的行是否大致对应,python-3.x,dataframe,nlp,Python 3.x,Dataframe,Nlp,我有一个数据框,其中有摩洛哥的城市名称,还有一个有类似名称,但编码不好。这是第一个: >>> df[['new_regiononame']].head() new_regiononame 0 Grand Casablanca-Settat 1 Fès-Meknès 2 Souss-Massa 3 Laayoune-Sakia El Hamra 4 Fès-Meknès 这是另一个,我想换成第一个的名字。至少他们知道正确阅读的方法: >>
>>> df[['new_regiononame']].head()
new_regiononame
0 Grand Casablanca-Settat
1 Fès-Meknès
2 Souss-Massa
3 Laayoune-Sakia El Hamra
4 Fès-Meknès
这是另一个,我想换成第一个的名字。至少他们知道正确阅读的方法:
>>>X_train[['S02Q03A_Region']].head()
S02Q03A_Region
10918 Fès-Meknès
1892 Rabat-Salé-Kénitra
6671 Casablanca-Settat
4837 Marrakech-Safi
6767 Casablanca-Settat
我如何检查数据帧中的行是否大致相互对应,如果是这样,如何将X_train
行重命名为df
行
到目前为止,我只知道如何提取X_train
中哪些行在df
中具有精确的等价项:
X_train['S02Q03A_Region'][X_train['S02Q03A_Region'].isin(df['new_regiononame'].unique())]
他们可以在这里完成任务
Levenshtein距离通过计算将一个单词转换为另一个单词所需的单字符编辑数,为您提供两个单词之间的距离。您可以将一个数据帧列与另一个数据帧列进行比较,从而建立一个合理的阈值,例如:
x
个字符李>
y
import nltk
nltk.edit_distance("Fès-Meknès", "Fès-Meknès")
输出:
4
问题:通过重命名行,您的意思是
X_train
中列出的城市名称与df
中列出的城市名称不完全相同,但有很大的相似性吗?例如:df
中的Fès-Mekn¨s
对应于Xèu列车
?@RahulPFès-Meknès
中的FÃs-Mekn¨s
,但确实如此