如何根据另一个数据框替换一个熊猫数据框列中的所有字符

时间:2018-09-16 14:12:47

标签: python-3.x pandas

我想使用第二个数据帧(df2)中的映射替换一个数据帧(df1)中的列(Text)。 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       ٱلنَّاسِ

由于文件大小(128,000行),因此希望快速转换。 昨天我花了一整天检查几乎所有类似的解决方案,但没有一个对我有用。

1 个答案:

答案 0 :(得分:3)

创建一个str转换表并将其应用于您的输入,例如:

trans = str.maketrans(df2.set_index('Replace')['With'].to_dict())
new_text = df1['Text'].str.translate(trans)

会给您new_text

0     يُولَدُ
1     جَمِيعُ
2    ٱلنَّاسِ