首页 > 其他分享 >pandas随笔(七)-- 统计文本中单词出现的次数(词频统计)

pandas随笔(七)-- 统计文本中单词出现的次数(词频统计)

时间:2024-10-17 13:45:27浏览次数:7  
标签:count files -- bear 词频 bull pandas market

题目描述

编写解决方案,找出单词 'bull' 和 'bear' 作为 独立词 有出现的文件数量,不考虑任何它出现在两侧没有空格的情况(例如,'bullet', 'bears', 'bull.',或者 'bear' 在句首或句尾 不会 被考虑)。
返回单词 'bull' 和 'bear' 以及它们对应的出现文件数量,顺序没有限制。

测试用例

输入 Files 表:

file_name content
draft1.txt The stock exchange predicts a bull market which would make many investors happy.
draft2.txt The stock exchange predicts a bull market which would make many investors happy, but analysts warn of possibility of too much optimism and that in fact we are awaiting a bear market.
final.txt The stock exchange predicts a bull market which would make many investors happy, but analysts warn of possibility of too much optimism and that in fact we are awaiting a bear market. As always predicting the future market is an uncertain game and all investors should follow their instincts and best practices.

输出:

word content
bull 3
bear 2

解析

在pandas中,凡是涉及到字符串操作的需求首先考虑 str 下所属的各种方法,前面我们介绍过正则表达式和pandas的综合应用,这里使用的则是 str.contains() 方法

代码

import pandas as pd

def count_occurrences(files: pd.DataFrame) -> pd.DataFrame:
    bull_count = len(files[files["content"].str.contains(r"\sbull\s")==True])
    bear_count = len(files[files["content"].str.contains(r"\sbear\s")==True])
    return pd.DataFrame({"word":["bull", "bear"], "count":[bull_count, bear_count]})

标签:count,files,--,bear,词频,bull,pandas,market
From: https://www.cnblogs.com/KevinScott0582/p/18472048

相关文章

  • 如何进入网站后台修改内容?网站维护后台修改数据库?
    进入网站后台和修改数据库通常涉及以下几个步骤:进入网站后台获取登录信息:通常需要管理员提供的用户名和密码。登录地址可能是类似于 http://yourwebsite.com/admin 或 http://yourwebsite.com/wp-admin(如果是WordPress)。登录后台:在浏览器中输入登录地址。输入用......
  • Min-Max 容斥 做题记录
    给定一张\(n\)个点\(m\)条边的边带权简单连通无向图。现需要将其的每个结点染成黑色或白色。定义两个结点的距离为这两点间所有路径的边权之和的最小值。对于一种染色的方式,定义一个结点\(u\)的代价为:对于所有与\(u\)异色的点\(v\),\(u\)和\(v\)的距离的最小值。如果......
  • 修改织梦网站后台的信息?
    要修改织梦(DedeCMS)网站后台的信息,通常涉及以下几个步骤:登录后台:打开你的织梦网站后台管理页面,输入管理员账号和密码进行登录。进入系统设置:登录后,在后台首页左侧菜单栏找到“系统”选项,点击进入系统基本参数设置。修改基本信息:在系统基本参数设置页面,你可以看到......
  • 使用Tftpd32工具数据互传是一种什么体验?SSD201/202D开发板演示,深圳触觉智能嵌入式方
    本文介绍了Tftpd32工具的使用方法,在我们使用开发板过程中常常需要将电脑与开发板文件相互传输,在有网络(电脑和开发板要在同一个网段)的时候就可以通过Tftpd32工具进行文件传输。本次使用的是触觉智能的PurplePiR1双网口开发板演示,搭载了SigmaStarSSD201/SSD202D芯片,类树莓派设计,......
  • ton tact合约中的map采用go的调用方式
    tact中的map结构:structRoundInfo{//Purchaserecordsquotient:map<Intasuint32,BuyInfo>;//keyissequencenumber//Orderanti-duplicationrecords,keyisordernumber,valueissequencenumberorders:map<Intasuint32,Intasuint16......
  • 七牛云存储数据,删除无用数据
    最近公司有一个业务,由于多年使用七牛云存储数据【一些图片,文件】,导致占用了好几个T的空间,其实有好几年之前的大量数据是现在不再使用的,于是需要删除这批数据。需要注意的是好几年之前的数据和现在的业务生成的数据都是用的一个储存空间,想要删除就必须要根据时间来进行筛选,例......
  • Nacos2.3.2在ubuntu中的部署
    Nacos2.3.2在ubuntu下的部署下载地址发布历史|Nacos官网https://download.nacos.io/nacos-server/nacos-server-2.3.2.zip修改application.properties文件开启鉴权###开启鉴权功能nacos.core.auth.caching.enabled=true###Theauthsystemtouse,currentlyonly......
  • 折腾 Buffalo LS-WXL/R1 (开启SMBv2)
    无聊刷咸鱼看到一个只要50的NAS还带电源,没忍住爱捡垃圾的手买了下来。成色也还可以。根据卖家的提醒,需要下载一个初始引导软件「BUFFALONASNavigator2」,还提供了官方下载地址:http://www.buffalo-asia.com/support/downloads/?lang=zh-cn点进去后就跳转到了http://b......
  • 晶尊微电子MC802单片机:专为需要多IO接口的产品设计
    MC802单片机:触控未来,8位高性能与多IO接口的完美结合MC802(2TouchKey+4I/O)MC802是由厦门晶尊微电子科技有限公司(ICman)推出的一款高性能8位单片机,它集成了2个自校正容性触摸按键和4个I/O口,专为需要多IO接口的产品设计而优化。MC802适用于多种应用场景,如遥控器、风扇、灯光控......
  • 代理模式
    静态代理静态代理是一种设计模式,用于在不改变目标对象的情况下,增加对目标对象的控制或功能。它的基本思想是创建一个代理类,该类实现与目标类相同的接口,并在其方法中调用目标对象的方法优点:增强功能:可以在不改变目标类的情况下,增强其功能。代码复用:通过代理类可以重用目标类的......