Как я могу заменить все символы из одного столбца данных pandas на основе другого кадра данных - PullRequest
0 голосов
/ 16 сентября 2018

Я хочу заменить столбец (Текст) в одном кадре данных (df1), используя сопоставление во втором кадре данных (df2). df1 colum to:

        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 голосов
/ 16 сентября 2018

Создайте таблицу перевода str и примените ее к вашему вводу, например:

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

Даст вам new_text из:

0     يُولَدُ
1     جَمِيعُ
2    ٱلنَّاسِ
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...