gpt4 book ai didi

python - 如何使用 Python/pandas 对文本中的表情符号进行编码(用于计数/查找最常出现的表情符号等)?

转载 作者:行者123 更新时间:2023-11-30 22:41:38 28 4
gpt4 key购买 nike

我正在 Python 中使用 pandas,我有一个数据框,其中一列包含包含表情符号的短语,例如“当生活给你 🍋s 时,制作柠檬水”或“捕获一个掉落的 ⭐️ 并将其放入在你的口袋里”。并非所有短语都有表情符号,如果有,它可能位于短语中的任何位置(不仅仅是开头或结尾)。我想浏览每个文本,并本质上计算每个出现的表情符号的频率、出现最多的表情符号等。我不确定如何实际处理/识别表情符号。如果我浏览该列中的每个文本,我将如何识别表情符号,以便收集所需信息,例如计数、最大值等。

最佳答案

假设你有一个像这样的数据框

import pandas as pd
from collections import defaultdict

df = pd.DataFrame({'phrases' : ["Smiley emoticon rocks!🍋 I like you.\U0001f601",
"Catch a falling ⭐️ and put it in your pocket"]})

产生

                 phrases
0 Smiley emoticon rocks!🍋 I like you.😁
1 Catch a falling ⭐️ and put it in your pocket
<小时/>

你可以这样做:

# Dictionary storing emoji counts 
emoji_count = defaultdict(int)
for i in df['phrases']:
for emoji in re.findall(u'[\U0001f300-\U0001f650]|[\u2000-\u3000]', i):
emoji_count[emoji] += 1

print (emoji_count)

请注意我已经更改了 re.findall(u'[\U0001f300-\U0001f650]|[\u2000-\u3000', i).

替代部分是处理不同的 unicode 组,但您应该明白了。

在 Python 2.x 中,您可以使用以下命令将表情符号转换为 unicode

unicode('⭐️ ', 'utf-8') # u'\u2b50\ufe0f' - output

输出:

defaultdict(int, {'⭐': 1, '🍋': 1, '😁': 1})

那个正则表达式是从这个 link 中无耻地窃取的。 .

关于python - 如何使用 Python/pandas 对文本中的表情符号进行编码(用于计数/查找最常出现的表情符号等)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42454200/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com