xml地图|网站地图|网站标签 [设为首页] [加入收藏]
自兴人工智能,中文词云代码调试
分类:编程

词云是个很有意思的东西。

字符串是python中最常用的数据类型,我们可以使用单引号(' ')或双引号(" ")来创建字符串。

题目内容:

用jieba断词,小说文本存入"mori.txt",停用词列表在"stopword.txt"中,断词结果好坏,停用词很重要,需要不断调整补充。

a='Hello'
b="Hello"

NMEA-0183协议是为了在不同的GPS(全球定位系统)导航设备中建立统一的BTCM(海事无线电技术委员会)标准,由美国国家海洋电子协会(NMEA-The National Marine Electronics Associa-tion)制定的一套通讯协议。GPS接收机根据NMEA-0183协议的标准规范,将位置、速度等信息通过串口传送到PC机、PDA等设备。

from wordcloud import WordCloud
import jieba

f = open(u'mori.txt','r').read()
##cuttext=" ".join(jieba.cut(f))
cuttext= jieba.cut(f) 
final= [] 
stopwords=open(u'stopword.txt','r').read() 

for seg in cuttext:
    ##seg = seg.encode('utf-8')
    if seg[0] not  in ['0','1','2','3','4','5','6','7','8','9']:##忽略数字
        if seg not in stopwords:
            final.append( seg) ## 列表添加   

font=r"c:/Windows/Fonts/simsun.ttc"##中文显示必须加
wordcloud = WordCloud(font_path=font,background_color="white",width=1000, height=860, margin=2).generate(" ".join(final))

import matplotlib.pyplot as plt
plt.imshow(wordcloud)
plt.axis("off")
plt.show()

所有标准序列操作如(索引,分片,成员资格,求长度,取最小值和最大值等),对字符串同样适用。

 

  wordcloud.to_file('test.png')

字符串常用的格式化符号:

NMEA-0183协议是GPS接收机应当遵守的标准协议,也是目前GPS接收机上使用最广泛的协议,大多数常见的GPS接收机、GPS数据处理软件、导航软件都遵守或者至少兼容这个协议。

效果图:

(%s 格式化字符串)

 

图片 1

print('Hello,%s'%'world') #使用%s作为'world'的占位符
Hello,world #结果

print('还有%s天'%10) #使用%d作为10的占位符
还有10天 #结果
#%s不仅可以格式化字符串,还可以格式化整数

NMEA-0183协议定义的语句非常多,但是常用的或者说兼容性最广的语句只有$GPGGA、$GPGSA、$GPGSV、$GPRMC、$GPVTG、$GPGLL等。

下面是词频统计排序,词长排序的代码。

(%d 格式化整数)

 

##统计词频
freqD2 = {}
for word2 in final:
  freqD2[word2] = freqD2.get(word2, 0) + 1 

##按词频排序输出
counter_list = sorted(freqD2.items(), key=lambda x: x[1], reverse=True) 
_2000=counter_list[0][1] + 1
print(_2000)##用于词长词频排序用
fp = open('sort.txt',"w+",encoding='utf-8')
for d in counter_list:
  fp.write(d[0]+':'+str(d[1]))
  fp.write('n')
fp.close()

##按词长词频排序输出
counter_list = sorted(freqD2.items(), key=lambda x: len(x[0])*_2000+x[1], reverse=True) 
fp = open('sortlen.txt',"w+",encoding='utf-8')
for d in counter_list:
  fp.write(d[0]+':'+str(d[1]))
  fp.write('n')
fp.close()
print('还有%d天'%10) #使用%d作为10的占位符
还有10天 #结果

其中$GPRMC语句的格式如下:

排序代码很方便,也值得借鉴,Python是个好东西,强大,易重用。

 字符串常用的方法:

    $GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,,,A*50

 

find():用于检测字符串中是否包含子字符串str,可以指定开始和结束的范围。

 

a='hello,world'
print(a.find('wo'))
6 #返回了匹配值的索引
print(a.find('kb'))
-1 #找不到,返回-1

print(a.find('wo',3)) #提供起点
6 #结果
print(a.find('wd',6))
-1 #结果

print(a.find('wo',3,8)) #提供起点和终点
6 #结果
print(a.find('wd',3,7))
-1 #结果

这里整条语句是一个文本行,行中以逗号“,”隔开各个字段,每个字段的大小(长度)不一,这里的示例只是一种可能,并不能认为字段的大小就如上述例句一样。

lower():将字符串中所有大写字符转换为小写

    字段0:$GPRMC,语句ID,表明该语句为Recommended Minimum Specific GPS/TRANSIT Data(RMC)推荐最小定位信息

a='HeLlo'
b=a.lower()
print(b)
hello #结果

    字段1:UTC时间,hhmmss.sss格式

upper():将字符串中所有小写字符转换为大写

    字段2:状态,A=定位,V=未定位

a='HeLlo'
b=a.upper()
print(b)
HELLO #结果

    字段3:纬度ddmm.mmmm,度分格式(前导位数不足则补0)

swapcase():将字符串中所有小写字符转换为大写,大写字符转换为小写

    字段4:纬度N(北纬)或S(南纬)

a='HeLlo'
b=a.swapcase()
print(b)
hElLO #结果

    字段5:经度dddmm.mmmm,度分格式(前导位数不足则补0)

replace():把字符串中的旧字符串替换成新字符串

    字段6:经度E(东经)或W(西经)

本文由澳门新葡亰手机版发布于编程,转载请注明出处:自兴人工智能,中文词云代码调试

上一篇:没有了 下一篇:没有了
猜你喜欢
热门排行
精彩图文