上一期讲述了怎么讲多个excel多sheet表进行批量合并,本次案例就是来讲讲合并之后对数据进行清洗整理的过程,筛掉无用的数据。
这个案例中博主是处理文本,主要是各大平台上的新闻的文字。筛选就是把那些无用的主题的新闻给去掉,我采用的是硬编码规则,即给定几个关键词,文章内容只要出现这个关键词,就把这条新闻删掉。
这和机器学习人工智能的方法当然有很大差距,但是在一些工作情况下当然会用的上,比如领导让你找包含什么什么关键词的新闻,如果用excel查找然后再一条条复制粘贴也太慢了…….这种重复性的劳动应该就让脚本来。
查看数据:
可以看到这个新闻的数据都是文字,我们主要对正文这一列进行筛选。
至于对什么关键词进行筛选,那就是看业务需求了,我这里需要的是金融风险的新闻,所以是对一些广告、政府公告,例如:“”开展xxxx风险排查处置攻坚战专项行动“”这种新闻都要去掉。
定义关键词:
import pandas as pd
name = '合并数据'
df = pd.read_excel('%s.xlsx'%name)
df.drop(df[pd.isna(df['正文'])].index, inplace=True)
key_words= ['提供担保','招聘','到店自提','招标','动画更新','箴言','法律援助','无惧暴雷','跌停板','早报','特卖',
'上海保险交易所','白条','民政局','豪门','法援','断崖式','发布通知','加盟品牌','快讯','报名通道','防诈骗教育',
'本站是提供个人知识管理的网络存储空间','农村局','中国邮政','采购','必备收藏','免费订阅','业绩暴雷','脱贫攻坚',
'魔兽世界','免费法律咨询','个股','免费无条件领取','娱圈揭秘','寻亲','物流专线','热点播报','乡村振兴','强化特训营',
'球队','中超','电影','华夏幸福','游民评测','游戏','免费景点','关注上方平台二维码','游玩特价','法维',
'小梨导师','回本计划','大乐透','实操测评','晋江','圣经','味蕾','食材','竞价地址','起拍价','情感语录','法律咨询','特色课程',
'公务员','挂牌','鸿丰环球','人民法院','党史','耶稣','观世音','每日资讯','全面启动','开售理财产品一览','课程资源',
'研究报告','斗鱼','虎牙','每日早播','英语','围炉夜话','税务','装修公司','套餐包含','开盘跌停','我要领养','中报暴雷',
'会员卡','指挥部','推荐理由','电视剧','房源','壁纸','wifi','中报业绩','寻人启事','吴亦凡','娱乐圈','基督','我为群众办实事',
'热门推荐','美食','实践活动','下面小编','主角光环','早安','加盟店','更健康','质量评测','京东','专项行动',
'教育部印发','开学工作的通知','查抄','贯彻落实','全面开展','他强调','有关事项通告如下','召开','会议精神','售房','陪嫁',
'开学时间','国务院','办公厅','抓住关键点','共同富裕','政策落地','教育局','教育厅','病例','文件精神','新冠病毒',
'比较有优势','全面停止','比较好','比较合适','比较可靠','更可靠','为大家推荐','哪家好','医学','小哈谈教育','有效防范',
'正式宣布','动真格','都不陌生','我只能说','记得我','管理厅','启动仪式','大家都知道','哪个机构','报志愿','条件已发布',
'报考条件','明显成效','治理工作','报名入口','留言给','小编总结','关注导航','实施意见','教委发布','安全意识','工作开展',
'热点背景','圆满结束','交流大会','如果说','哪家机构','如何选','专项整治','全面实施','加快推进','推进落实','防电信诈骗',
'报考学历要求','高顿研招网','成绩公示','予以公','高质量发展','即可下单','不忘初心','砥砺前行','今日话题','精神文化生活',
'原创文章','谈婚论嫁','拆迁','缴纳社保','圆满落幕','成功举办','组织部','深入贯彻','警告处分','恋爱关系','加盟方式',
'散户','报名方式','新闻发布会','传感器','央视新闻','表情包','留言讨论','微淼','包过户','恋爱劈腿','实际控制人','离婚',
'残疾预防','社保费用','设计','装修风格','百年大计','哪家培训机构','编推荐','雨天气影响','进一步落实','修成正果',
'在线答疑','高绩效教练','驾驶人','长按识别','为全力做好','关注我们','年度寄语','教育部曝光','新闻热线','宣讲电信诈骗',
'正在报名中','发挥积极','阿联酋','点击关注','购房合同','正式启动','生育率','概念股','项目建设','金融消保大咖说','恒大',
'顺利开展','文末领福利','上面蓝','上方扫码','百度云盘下载','法典条文','碧缇福','即将开课','即日起报名','开放三胎','供给侧改革',
'优惠客服微信','疫苗','代餐粉','点上方蓝','一键关注','代理加盟','总经销商','会员代理','火热报名中','安全驾驶','进展公告',
'清大燕园','长按扫码','培训现场','幽默笑话','快来参考','实拍图','主要措施','为您服务','访问的太频繁','印发的','一起加油',
'链接下单','方案发布','健康发展','政审批','旨在净化','民法典','民族文化','关于加强','每日一练','关于征求','房产租售','交易公告',
'健康养生','特别赠送','香涛书院','为丰富','每日分享','哪个网校好','交警提醒','关于公','哪些好','连锁加盟','践行普惠','公告日期',
'手游下载','招生电话','实施条例','制度改革','登记表','公示表','被罚','每日积累','每日考点','操作指南','正式实施','招募说明书'
'郑重提醒','联合印发','指导意见','进一步加强','首次举办以来','文章最底部添加本人连系方式','快来看看吧','防骗短片','免费送',
'投资者提问','返租','利率定价','欧莱雅','皇帝','独家爆料','背景文案','下载提取码','次第花开','穷人虽穷','广场停业','说的没错',
'品牌策划','熊三','音频解说','蓝洞新消费','外电报道','家政','嫖娼','宝宝','充电桩','近日印发','全线下跌','较为寒冷','两千年历史']
前几行读取数据,然后对正文这列去个重,然后定义一些关键词列表,我这里关键词有点多…..大家都可以按自己要求来定义。
def check(txt):
for key_word in key_words:
if key_word in txt:
a=False
break
else:
a=True
return a
lis_bool=df['正文'].astype('string').apply(check)
df[lis_bool].to_excel('清洗数据.xlsx',index=False)
筛选
然后定义一个函数,循环关键词,若关键词在里面,就返回False,不在就返回True。
用这个函数apply给要处理的列,得到的布尔序列对df进行索引,留下来的就是为True的行,也就是没有关键词的行。
可以看到数据明显被筛走了一半,现在剩下的新闻都是没有关键词的。
如果想反过来,只留下存在关键词的新闻,那么就把定义的check函数里面的条件判断的位置里面的a=True和a=False进行调换就行。
原文地址:https://blog.csdn.net/weixin_46277779/article/details/127118361
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_44398.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!