每日一题23:统计文本中单词出现的次数

一、每日一题

解答:

python 复制代码
import pandas as pd
def count_occurrences(files: pd.DataFrame) -> pd.DataFrame:
    bull_cnt = len(files[files['content'].str.contains(r'\sbull\s')])
    bear_cnt = len(files[files['content'].str.contains(r'\sbear\s')])
    res_df = pd.DataFrame(
        {
            'word': ['bull', 'bear'],
            'count': [bull_cnt, bear_cnt]
        }
    )
    return res_df

题源:Leetcode

二、 总结

files['content'].str.contains(r'\sbull\s'):

  • 使用 str.contains() 方法来查找 content 列中包含匹配正则表达式 r'\sbull\s' 的行。
  • 正则表达式**r'\sbull\s'** 寻找以空白字符(空格)开头和结尾的 "bull" 字符串:
    • \s 表示空白字符(比如空格、制表符等)。
    • 因此,r'\sbull\s' 匹配的是整个单词 "bull",而不会匹配诸如 "bulldog" 或 "bullish" 这样的部分匹配。

2024.5.26

相关推荐
雨中飘荡的记忆1 小时前
ElasticJob分布式调度从入门到实战
java·后端
考虑考虑10 小时前
JDK25模块导入声明
java·后端·java ee
_小马快跑_11 小时前
Java 的 8 大基本数据类型:为何是不可或缺的设计?
java
jiayou6412 小时前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
Re_zero14 小时前
线上日志被清空?这段仅10行的 IO 代码里竟然藏着3个毒瘤
java·后端
洋洋技术笔记14 小时前
Spring Boot条件注解详解
java·spring boot
程序员清风1 天前
程序员兼职必看:靠谱软件外包平台挑选指南与避坑清单!
java·后端·面试
李广坤1 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
皮皮林5511 天前
利用闲置 Mac 从零部署 OpenClaw 教程 !
java
Scout-leaf1 天前
WPF新手村教程(三)—— 路由事件
c#·wpf