Python 3.x 如何基于另一个数据帧替换一个数据帧列中的所有字符

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

我想使用第二个数据帧(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  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    ٱلنَّاسِ

杰出的代码按预期工作,速度极快。非常感谢。