Python 3.x 如何基于另一个数据帧替换一个数据帧列中的所有字符
我想使用第二个数据帧(df2)中的映射替换一个数据帧(df1)中的列(文本)。 df1柱至:Python 3.x 如何基于另一个数据帧替换一个数据帧列中的所有字符,python-3.x,pandas,Python 3.x,Pandas,我想使用第二个数据帧(df2)中的映射替换一个数据帧(df1)中的列(文本)。 df1柱至: Text 0 yuwladu 1 jamiyEu 2 {lna~Asi 映射数据帧: Replace With 0 } ئ 1 u ُ 2 w و 3 l ل 4 a َ 5 d د 6 j ج 7 m م 8 y ي 9 E ع 10 { ٱ 11
Text
0 yuwladu
1 jamiyEu
2 {lna~Asi
映射数据帧:
Replace With
0 } ئ
1 u ُ
2 w و
3 l ل
4 a َ
5 d د
6 j ج
7 m م
8 y ي
9 E ع
10 { ٱ
11 n ن
12 ~ ّ
13 A ا
14 s س
15 i ِ
最终结果应该是:
Text
0 يُولَدُ
1 جَمِيعُ
2 ٱلنَّاسِ
由于文件大小(128000行),需要快速转换。
我昨天花了一整天的时间检查几乎所有类似的解决方案,但没有一个对我有效 创建一个
str
翻译表,并将其应用于您的输入,例如:
trans = str.maketrans(df2.set_index('Replace')['With'].to_dict())
new_text = df1['Text'].str.translate(trans)
将为您提供以下内容的新文本:
0 يُولَدُ
1 جَمِيعُ
2 ٱلنَّاسِ
杰出的代码按预期工作,速度极快。非常感谢。