Python数据科学(三)- python与数据科学应用(Ⅲ)1.使用Python计算文章中的字2.使用第二种方法直接使用python中的第三方库Counter

传送门:

1.使用Python计算文章中的字

speech_text = '''
  I love you,Not for what you are,But for what I amWhen I am with you.I love you,Not
 only for whatYou have made of yourself,But for whatYou are making of me.I love
 youFor the part of meThat you bring out;I love youFor putting your handInto my
 heaped-up heartAnd passing overAll the foolish, weak thingsThat you can’t
 helpDimly seeing there,And for drawing outInto the lightAll the beautiful
 belongingsThat no one else had lookedQuite far enough to find.I love you because
 youAre helping me to makeOf the lumber of my lifeNot a tavernBut a temple;Out of 
the worksOf my every dayNot a reproachBut a song.I love youBecause you have
 doneMore than any creedCould have doneTo make me goodAnd more than any
 fateCould have doneTo make me happy.You have done itWithout a touch,Without a
 word,Without a sign.You have done itBy being yourself.Perhaps that is whatBeing a 
friend means,After all.
'''

speech = speech_text.split()

dic = {}
for word in speech:
    if word not in dic:
        dic[word]=1
    else:
        dic[word]=dic[word] + 1


dic.items()

在使用nltk的时候,发现一直报错,可以使用下边两行命令安装nltk

import nltk
nltk.download()

会弹出以下窗口,下载nltk.

正在下载

如果这种方式下载完成了 那就直接跳过下一步

我下了很多次最后都下载失败了,现在说第二种方法。 直接下载打包好的安装包:下载地址1:云盘密码znx7,下来的包nltk_data.zip 解压到C盘根目录下,这样是最保险的,防止找不到包。下载地址2:云盘密码4cp3

感谢【V_can--Python与自然语言处理_第一期_NLTK入门之环境搭建提供的安装包】

去除停用词

2.使用第二种方法直接使用python中的第三方库Counter

#代码如下
from collections import Counter
c = Counter(speech)
c. most_common(10)#出现的前十名
print(c. most_common(10))

for sw in stop_words:
    del c[sw]
c.most_common(10)

Counter 是实现的 dict 的一个子类,可以用来方便地计数。

  • 附上完整代码
speech_text = '''
I love you,
Not for what you are,
But for what I amWhen I am with you.
I love you,
Not only for whatYou have made of yourself,
But for whatYou are making of me.
I love youFor the part of meThat you bring out;
I love youFor putting your handInto my heaped-up heartAnd passing overAll the foolish, 
weak thingsThat you can’t helpDimly seeing there,
And for drawing outInto the lightAll the beautiful belongingsThat no one else had lookedQuite far enough to find.
I love you because youAre helping me to makeOf the lumber of my lifeNot a tavernBut a temple;
Out of the worksOf my every dayNot a reproachBut a song.
I love youBecause you have doneMore than any creedCould have doneTo make me goodAnd more than any fateCould have doneTo make me happy.
You have done itWithout a touch,
Without a word,
Without a sign.
You have done itBy being yourself.
Perhaps that is whatBeing a friend means,
After all.
'''

#解决大小写的问题
speech = speech_text.lower().split()
print(speech)

dic = {}
for word in  speech:
    if word not in dic:
        dic[word] = 1
    else:
        dic[word] = dic[word] + 1

import operator
swd = sorted(dic.items(),key=operator.itemgetter(1),reverse=True)
print(swd)

#停用词处理
from nltk.corpus import stopwords
stop_words = stopwords.words('English')

for k,v in swd:
    if k not in stop_words:
        print(k,v)


from collections import Counter
c = Counter(speech)
c. most_common(10)#出现的前十名
print(c. most_common(10))

for sw in stop_words:
    del c[sw]
c.most_common(10)

通过这两种方法我们就不难明白为什么现在Python 在数据分析、科学计算领域用得越来越多,除了语言本身的特点,第三方库也很多很好用。

所以还等什么,人生几何,何不Python当歌。 跟我一块学Python吧。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java一日一条

有经验的Java开发者和架构师容易犯的10个错误(上)

首先允许我们问一个严肃的问题?为什么Java初学者能够方便的从网上找到相对应的开发建议呢?每当我去网上搜索想要的建议的时候,我总是能发现一 大堆是关于基本入门的...

752
来自专栏怀英的自我修炼

怀英漫谈3-百度Echarts中日期控件的使用总结

你好, 今天下午在用百度的Echarts做一个日历图的效果,其中跌跌碰碰遇到了几个问题,好在最终都解决了,今天想跟你聊聊这几个问题。 本篇偏编程,可以跳至最后看...

3909
来自专栏我的小碗汤

使用pprof优化golang性能

Donald E.Knuth说过一句非常著名的话,过早的优化是万恶之源。原文如下:

1674
来自专栏美团技术团队

【你问我答】你与Java大牛的距离,只差这24个问题

点击上方“公众号”可以订阅哦 上周我们做了第一期“你问我答”活动,没想到有那么多读者进行了提问,受宠若惊。 问题比较多也比较杂,王锐老师很认真地给出了一些答案,...

43213
来自专栏云飞学编程

用python统计“3d”彩票热门数据,看看今天运势如何!

快下班了,正好准备去买彩票,就顺手写了2个脚本,一个用来下载最近的彩票数据,一个用来统计彩票数字,分享给大家!

1443
来自专栏牛客网

携程Java后台开发三面面经

前言 携程是我面试的第一个互联网公司,投递的岗位是后台开发实习生,总共面了三面,止步于人才库。中间兜兜转转,复杂的心理活动,不足与外人道也。唯有面试的技术部分与...

4224
来自专栏LanceToBigData

OOAD-设计模式(二)之GRASP模式与GOF设计模式概述

一、GRASP模式(通用责任分配软件模式)概述 1.1、理解责任   1)什么是责任     责任是类间的一种合约或义务,也可以理解成一个业务功能,包括行为...

21210
来自专栏纯洁的微笑

看程序员怎么解决食堂排队问题

在学校的时候,我不爱去食堂成功,一是由于暗黑料理,更重要的一点是人太多了,队伍往往从窗口排到了门口,点菜、计算价格、付款三种业务由打饭阿姨一人完成,思维切换忙碌...

831
来自专栏开发 & 算法杂谈

基于Happens-before的数据竞争方法汇总 (二)

Happens-before方法中最基础的方法Djit+,Djit+使用向量时钟VC进行数据竞争分析。下面这篇文章介绍的是FastTrack算法,在Djit+基...

2083
来自专栏编舟记

生成式测试(Generative Testing)

满足需求是所有软件存在的必要条件,单元测试一定是为它服务的。从这一点出发,我们可以总结出写单元测试的两个动机:驱动(如:TDD)和验证功能实现。另外,软件需求易...

1533

扫码关注云+社区