python - 从一系列文本中提取表情符号
问题描述
我在从系列中提取表情符号时遇到问题。使用的代码:
import emoji
def extract_emojis(text):
return ''.join(c for c in text if c in emoji.UNICODE_EMOJI)
for text in df['comments']:
df['emoji']=extract_emojis(text)
输出:
comments | emoji
0 Its very beautiful
1 Your new bike, @keir ...?
2 @philip
3 Any news on the Canadian expansion mentioned i...
4 Rocky Mountain ❤️
... ... ...
仅在文本上检查功能:
text = '@philip '
extract_emojis(text)
--> '\U0001f929\U0001f929'
预期结果:
comments | emoji
0 Its very beautiful |
1 Your new bike, @keir ...? |
2 @philip |
3 Any news on the Canadian expansion mentioned i... |
4 Rocky Mountain ❤️ | ❤️
... ... ...
注意:查看这些链接后,我只问了这个问题:
Python unicode character conversion for Emoji
How to extract all the emojis from text?
解决方案
而不是遍历整个数据集。您可以使用apply
或应用该功能lambda
。
import pandas as pd
import emoji
df = pd.DataFrame([['@philip '],
['Rocky Mountain ❤️']],columns = ['comments'])
使用 Lambda:
df['emojis'] = df['comments'].apply(lambda row: ''.join(c for c in row if c in emoji.UNICODE_EMOJI))
df
使用应用
def extract_emojis(text):
return ''.join(c for c in text if c in emoji.UNICODE_EMOJI)
df['emoji_apply'] = df['comments'].apply(extract_emojis)
df
输出:
comments emojis
@philip
Rocky Mountain ❤️ ❤
推荐阅读
- c# - 运行 api 的自动化测试时出现错误的请求错误
- java - 使用 Spring Kafka 自定义转换 Apache Kafka 标头
- android - 使用 YouTube 作为托管平台来嵌入具有下载功能的视频?
- python - 将 Linkedin 学习视频源导出为 .txt 文件
- adsense - 在我的公开直播网站上设置 Google Adsense
- youtube-api - 每 100 秒的 youtube 配额限制
- javascript - 如何将样式属性删除到段落内的其他标签并仅保留一个样式
- spring-boot - Springboot 验证在 Kotlin 中不起作用
- python - 如何在 python 中从一组具有序列化命名的变量创建列表
- python - 在任何地方运行 python 脚本