python - 错误:计算数据框中的出现次数时无需重复
问题描述
我尝试计算我的数据框中每个表情符号(在表情符号库中)的出现次数。我的做法:
emoji_cnt = [[] for i in range(len(list(emoji.UNICODE_EMOJI.keys())))]
j = 0
for key, value in emoji.UNICODE_EMOJI.items():
emoji_cnt[j].append(key)
j = j+1
for k in emoji_cnt:
s = df["Message"].str.count(k[0]).sum()
k.append(s)
确实有效。我试图打印出数字(在循环内)并且它有效。但是一些程序如何停止,我得到以下错误:
File "C:\Users\USER\anaconda3\lib\sre_parse.py", line 668, in _parse
raise source.error("nothing to repeat",
error: nothing to repeat
我在 Anaconda 和 Python 3.8 上使用 Spyder。
非常感谢你们 :)
来自维也纳的亲切问候!
解决方案
于是找到了办法。我不得不将 thge 模块用于正则表达式。所以:
import re
.
.
.
emoji_cnt = [[] for i in range(len(list(emoji.UNICODE_EMOJI.keys())))]
j = 0
for key, value in emoji.UNICODE_EMOJI.items():
emoji_cnt[j].append(key)
j = j+1
for k in emoji_cnt:
s = df["Message"].str.count(re.escape(k[0])).sum()
k.append(s)
re.escape(k[0])会将 k[0] 中的表情符号更改为正则表达式。
:)
推荐阅读
- java - 如何构建包含所有依赖项的 Java 项目作为 Jars
- c++ - 我如何安装 socket.io C++ 客户端库
- javascript - 将“this”作为上下文传递给模块?
- xamarin - Xamarin,如何将我的 Xamarin.plugins.settings 转换为 xamarin.preferences.essentials 以保存输入的值?
- excel - 如何将特定单元格从一张纸复制到另一张纸到新表格中
- sql-server-2008 - 从 SQL 中选择文档中最常用的值
- c# - 使用基本身份验证和客户端证书调用 WCF 服务
- sql - 如何根据我的选择语句中的其他 3 列创建新列
- angularjs - 将服务的值保存在变量中
- mysql - 无法使用联合引擎 mysql 在 ipv6 上连接远程服务器