前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Pandas中实现词频统计次数,该怎么写?

Pandas中实现词频统计次数,该怎么写?

作者头像
前端皮皮
发布2022-08-17 17:09:05
1K0
发布2022-08-17 17:09:05
举报
文章被收录于专栏:前端进阶学习交流

大家好,我是皮皮。

一、前言

前几天在Python铂金交流群有个叫【dcpeng】的粉丝问了一个Pandas中实现词频统计次数的问题,这里拿出来给大家分享下,一起学习下。

下图是原始数据:

他自己写的部分代码,如下:

代码语言:javascript
复制
df = pd.read_excel('./data.xls', names=['name', 'count'])
names = ['明玉', '苏明玉',  '苏总', '朱丽', '丽丽', '明哲', '苏明哲', '大哥', '明成', '苏明成', '大哥',
         '苏大强', '老爹', '爸', '吴非', '苏家', '宝宝', '老蒙', '蒙总', '小蒙', '天冬', '石天冬',
         '石大哥', '柳青', '蔡根花', '钟点工', '温玮光', ' 温总', '苏母']

二、解决过程

这里【月神】给出了一个代码,如下图所示:

然后他自己修改下,就搞定了。

代码如下所示:

代码语言:javascript
复制
df = pd.read_excel('./data.xls')
names = ['明玉', '苏明玉',  '苏总', '朱丽', '丽丽', '明哲', '苏明哲', '大哥', '明成', '苏明成', '大哥',
         '苏大强', '老爹', '爸', '吴非', '苏家', '宝宝', '老蒙', '蒙总', '小蒙', '天冬', '石天冬',
         '石大哥', '柳青', '蔡根花', '钟点工', '温玮光', ' 温总', '苏母']
print(df[df['name'].isin(names)])

不过事情还没有完成,后来又提新的需求了。

比如这种,他都是一个人,怎么把他处理到一块?

这里他自己想到了一个可行的思路。把人名整理到每一行,以空格分开,每一行代表一个人,之后逐行读取,然后传值到变量里边,df[df['name'].isin(names)],挨个输出就可以了,代码如下:

代码语言:javascript
复制
with open('人名.txt', 'r', encoding='utf-8') as f:
    name_count = 0
    for names in f:
        name = names.strip().split()
        count = df[df['name'].isin(name)]
        # print(df[df['name'].isin(list(names))])  
        print(count['count'].sum())

之后就可以进一步做词云图啥的了,巴适得很!

三、总结

大家好,我是皮皮。这篇文章主要分享了Pandas中实现词频统计次数的问题,文中针对该问题给出了具体的解析和代码演示,帮助粉丝顺利解决了问题。

最后感谢粉丝【dcpeng】提问,感谢【月神】给出的具体解析和代码演示,感谢【杨羊】、【沈复】等人参与学习交流。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python共享之家 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言
  • 二、解决过程
  • 三、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档