У меня есть Pandas фрейм данных, в котором есть столбец Tweet, содержащий некоторые из его данных, например:
Tweet
Ya bani taplak dkk \xf0\x9f\x98\x84\xf0\x9f\x98\x84\xf0\x9f\x98\x84
Setidaknya gw punya jari tengah buat lu, sebelom gw ukur nyali sama bacot lu \xf0\x9f\x98\x8f'
Ari sarua beki mah repeh monyet\xf0\x9f\x98\x86\xf0\x9f\x98\x86'
Cerita silat lae \xf0\x9f\x98\x80 semacam Kho Ping Hoo yang dari Indonesia, tapi Liang Ie Shen penulis dari China
Как видите, эти коды являются байтовым кодом Emoji. Например, исходная форма первой строки: "Ya bani taplak dkk ???" , где ? обозначено как \ xf0 \ x9f \ x98 \ x84. Я создал список смайликов, который содержит код, основанный на этом сайте , и я хочу удалить эти коды из данных твитов, поэтому мой желаемый результат для первой строки - "Ya bani taplak dkk" .
Я пытался применить ответ эта проблема для фрейма данных, но он не работает. Сначала я подозревал, что, возможно, потому, что большинство байтовых кодов связаны без пробела, как вы можете видеть из первой и третьей строки. Однако даже второй и четвертый ряды тоже не изменились. Вот мой код:
df = pd.read_csv(tweet_data, sep='\t')
df2 = pd.read_csv(emoji_data, sep='\t')
emoji_list = df2['Code 2'].tolist()
df['Tweet'] = df['Tweet'].str.replace(r'\\n', '').str.replace(r'RT', '').str.replace(r'USER', '').str.replace(r'URL', '')
p = re.compile('|'.join(map(re.escape, emoji_list)))
df['Tweet'] = [p.sub('', text) for text in df['Tweet']]
Любая помощь приветствуется, спасибо.