微信统计数据

from wordcloud import WorldCloud
import jieba
import itchat
import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
import re
#登陆微信
itchat.login()
Getting uuid of QR code.
Downloading QR code.
Please scan the QR code to log in.
Please press confirm on your phone.
Loading the contact, this may take a little while.
Login successfully as G凯learlove
#给文件传输助手发送信息
itchat.send(u'你好微信助手','filehelper')
<ItchatReturnValue: {'BaseResponse': {'Ret': 0, 'ErrMsg': '请求成功', 'RawMsg': '请求成功'}, 'MsgID': '2584140068988081133', 'LocalID': '15613780129026'}>
#统计男女比例,根据初步观察可得,1为性别男,2为性别女,0为未填

friends = itchat.get_friends()[0:]
man=0
woman=0
not_write=0
for each in friends:
    if each['Sex'] == 0:
        not_write+=1
    elif each['Sex'] == 1:
        man+=1
    else:
        woman+=1
sum_num = len(friends)
man_rate = (man/sum_num)*100
print('男性比例:%.2f%%'%man_rate)
woman_rate = woman/sum_num*100
print('女性比例:%.2f%%'%woman_rate)
not_write_rate = not_write/sum_num*100
print('未填写的比例:%.2f%%'%not_write_rate)


男性比例:41.86%
女性比例:40.70%
未填写的比例:17.44%
#利用饼图可视化比例
sizes = [man,woman,not_write]
labels = ['man','woman','not_write']
explode = [0,0.1,0]
fig,axe = plt.subplots()
fig.set_size_inches(8,8)
axe.set(title='people_sex_rate')
axe.pie(sizes,explode=explode,labels=labels,autopct='%.2f%%',shadow=True,startangle=90)
plt.show()
#查看好友省份位置图
provice_list=[]
for each in friends:
    provice_list.append(each['Province'])
print(provice_list)
provice_dict = {}
for each in provice_list:
    provice_dict[each] = provice_dict.get(each,0)+1
print(provice_dict)
['', '江苏', '北京', '江苏', '', '陕西', 'Louth', '江苏', '', '', '', '江苏', '上海', '', '', '江苏', '陕西', '', '陕西', '', '', 'Lyon', '', '', '江苏', '', '江苏', '陕西', '江苏', 'Pennsylvania', '陕西', 'Nagasaki-ken', '', '', '陕西', '', '江苏', '浙江', '陕西', '陕西', '江苏', '江苏', '', 'Paris', '浙江', '陕西', '', '', '', '北京', '江苏', '', '江苏', '', '江苏', '江苏', '江苏', '山西', '浙江', '陕西', '陕西', '', '', '江苏', '', '陕西', '江苏', '陕西', '河南', '江苏', '江苏', '', '云南', '北京', '', '江苏', '', '', '陕西', '', '北京', '江苏', '陕西', '江苏', '江苏', '青海']
{'': 30, '江苏': 24, '北京': 4, '陕西': 15, 'Louth': 1, '上海': 1, 'Lyon': 1, 'Pennsylvania': 1, 'Nagasaki-ken': 1, '浙江': 3, 'Paris': 1, '山西': 1, '河南': 1, '云南': 1, '青海': 1}
fig,axe = plt.subplots()
fig.set_size_inches(18,8)
axe.set(title='people_provice_rate')
x_provice = provice_dict.keys()
y_provice = provice_dict.values()
axe.bar(x_provice,y_provice)
plt.show()
#地图可视化
from pyecharts import Map
#各省份个数
value = list(provice_dict.values())
#省份
attr = list(provice_dict.keys())
map = Map("微信好友省份分布图",width=1200,height=600,title_pos='center',background_color='#F6CEF5')
map.add('',attr,value,maptype='china', visual_range=[1, 10],is_visualmap=True,  is_map_symbol_show=False,is_label_show=True)

map.render(path='./微信好友.html')





#接下来分析个性签名
tlist = []
for each in friends:
    print(each['Signature'])
    #首先去除span
    each['Signature']=each['Signature'].replace("span","")
    #其次去掉class的内容
    each['Signature']=each['Signature'].replace("class","")
    #最后去除表情emoji
    each['Signature']=each['Signature'].replace("emoji","")
    #利用正则表达式替换1F开头的
    rep = re.compile('1f\d.+')
    each['Signature'] = rep.sub('',each['Signature'])
    tlist.append(each['Signature'])
#连接成一个独立的字符串
content = ''.join(tlist)
print(content)
哦,卡哇伊阔多。
缘



陕科大福利平台,首次添加免费送出一套PPT

你能加我就有资源,朋友圈扫码进群。

感恩、诚信、认真、负责、耐心、坚持




此号已满,请大家加牛可乐xiaozhaobang_bangjie,回复城市名称
常年召收C1、B2学员
晚是世界的晚,安是给你的安,晚安
年龄从来都不是衡量一个人成熟的标志



To the fore
◢ ◤




实力才是让人信服的根本。


像风一样
看我朋友圈哦(´-ω-`)
女人贵在安分守己男人贵在独宠一女
I'll try anything once


没有签名就是最好的签名
客服微信:sj17070488299
?
还有一种人不知不觉、
没关系你也不用给我机会,反正我还有一生可以浪费。
开心过着每一天,

知命不惧  日日自新
掩筝罢弦听渊默,苍茫天地何解莲
专注于事,放眼未来!
经营范围:中高端四件套,棉被,羽绒蚕丝被,沙发垫枕芯等家居
专注大学生就业服务


懂得珍惜,才配拥有

山不过来,我就过去。



gg
始于颜值陷于才华忠于人品╭∩╮( ̄▽ ̄)╭∩╮
我是小仙女。
让这个时间燥起来
越善良越需要聪明
思想的本质就是不安


随心随意,过好每一天
18392508886

小科比健康成长
舍时以待

如果一周可以选择两天  我会毫不犹豫的选择周末

累吗?累!死啦吗?没死就得干只要干不死,就往死里干!
此号已满,可加boniu576,或企鹅1702132821

“没有梦的润色,光阴只不过是白纸一张,单薄没有重量。”
smilesjs.xyz

Just as you wish
起伏不定的情绪,该怎么去收拾
₍₍ (̨̡ ‾᷄ᗣ‾᷅ )̧̢ ₎₎
夏虫不可语冰,井蛙不可语海,凡夫不可语道。
星河滚烫,你是人间理想
常年招收C1·B2·A2学员
得到了就不珍惜的人,都该死!< =" 

哦,卡哇伊阔多。缘陕科大福利平台,首次添加免费送出一套PPT你能加我就有资源,朋友圈扫码进群。感恩、诚信、认真、负责、耐心、坚持此号已满,请大家加牛可乐xiaozhaobang_bangjie,回复城市名称常年召收C1、B2学员晚是世界的晚,安是给你的安,晚安年龄从来都不是衡量一个人成熟的标志To the fore◢ ◤实力才是让人信服的根本。像风一样看我朋友圈哦(´-ω-`)女人贵在安分守己男人贵在独宠一女I'll try anything once没有签名就是最好的签名客服微信:sj17070488299?还有一种人不知不觉、没关系你也不用给我机会,反正我还有一生可以浪费。开心过着每一天,知命不惧  日日自新掩筝罢弦听渊默,苍茫天地何解莲专注于事,放眼未来!经营范围:中高端四件套,棉被,羽绒蚕丝被,沙发垫枕芯等家居专注大学生就业服务懂得珍惜,才配拥有山不过来,我就过去。gg始于颜值陷于才华忠于人品╭∩╮( ̄▽ ̄)╭∩╮我是小仙女。让这个时间燥起来越善良越需要聪明思想的本质就是不安随心随意,过好每一天18392508886小科比健康成长舍时以待如果一周可以选择两天  我会毫不犹豫的选择周末累吗?累!死啦吗?没死就得干只要干不死,就往死里干!此号已满,可加boniu576,或企鹅1702132821“没有梦的润色,光阴只不过是白纸一张,单薄没有重量。”smilesjs.xyzJust as you wish起伏不定的情绪,该怎么去收拾₍₍ (̨̡ ‾᷄ᗣ‾᷅ )̧̢ ₎₎夏虫不可语冰,井蛙不可语海,凡夫不可语道。星河滚烫,你是人间理想常年招收C1·B2·A2学员得到了就不珍惜的人,都该死!< =" 
#jieba进行分词
word_list = jieba.cut(content,cut_all=True)
#利用空格 连接成整个字符串
word_split = ' '.join(word_list)
print(word_split)
哦   卡哇伊 阔 多   缘 陕 科大 大福 福利 平台   首次 添加 免费 免费送 送出 一套 PPT 你 能 加 我 就 有 资源   朋友 朋友圈 扫 码 进 群   感恩   诚信   认真   负责   耐心   坚持 此 号 已 满   请 大家 加 牛 可乐 xiaozhaobang bangjie  回复 城市 市名 名称 常年 召 收 C1 B2 学员 晚 是 世界 的 晚   安 是 给 你 的 安   晚安 年龄 从来 都 不是 衡量 一个 个人 成熟 的 标志 To the fore    实力 才 是 让 人 信服 的 根本   像 风 一样 看 我 朋友 朋友圈 哦         女人 贵在 安分 安分守己 分守 己 男人 贵在 独 宠 一 女 I ll try anything once 没有 签名 就是 最好 的 签名 客服 微 信  sj17070488299  还有 一种 人不知 不知 不知不觉 不觉   没关 没关系 关系 你 也 不用 给 我 机会   反正 我 还有 一生 可以 浪费   开心 过 着 每 一天   知命 不惧    日日 自新 掩 筝 罢 弦 听 渊默   苍茫 天地 何解 莲 专注 于 事   放眼 未来   经营 经营范围 范围   中高 高端 四件 四件套 件套   棉被   羽绒 蚕丝 蚕丝被   沙发 沙发垫 枕芯 等 家居 专注 大学 大学生 学生 生就 就业 服务 懂得 珍惜   才 配 拥有 山 不过 过来   我 就 过去  gg 始于 颜 值 陷于 才华 忠于 人品             我 是 小 仙女   让 这个 时间 燥 起来 越 善良 越 需要 聪明 思想 的 本质 就是 不安 随心 随意   过 好 每 一天 18392508886 小 科比 健康 健康成长 成长 舍 时 以待 如果 一周 可以 选择 两天    我会 毫不 毫不犹豫 犹豫 的 选择 周末 累 吗   累   死 啦 吗   没死 就 得 干 只要 干 不 死   就 往 死 里 干   此 号 已 满   可加 boniu576  或 企鹅 1702132821  没有 梦 的 润色   光阴 只不过 不过 是 白纸 一张   单薄 没有 重量   smilesjs xyzJust as you wish 起伏 起伏不定 不定 的 情绪   该 怎么 去 收拾                     夏 虫 不可 语 冰   井蛙 不可 语 海   凡夫 不可 语 道   星河 滚烫   你 是 人间 理想 常年 招收 C1 B2 A2 学员 得到 了 就 不 珍惜 的 人   都 该死       
#词云1
#导入词云与设置字体
from wordcloud import WordCloud
font = r'/usr/share/fonts/truetype/wqy/wqy-microhei.ttc'
#设置词云解析规则,并解析字符串
wc = WordCloud(
    font_path=font,
    background_color = 'white',
    width=1000,
    height=600,
    random_state=42,
).generate(word_split)
#画在画板上,并展示,关掉坐标轴
plt.imshow(wc)
plt.axis('off')
plt.show()

png

#词云2
#导入系统的目录包
from os import path
#导入python标准的图像处理包
from PIL import Image
#导入字体
font = r'/usr/share/fonts/truetype/wqy/wqy-microhei.ttc'
#定义图片名字
img = '词云.png'
#将目录与图片文件名结合起来导入默认目录,生成nadrray对象(矩阵)
img_mask = np.array(Image.open(path.join('.', img)))
#或者直接
'''
img = '词云.png'
img_path = './'+img
img_mask = np.array(Image.open(img_path))

'''
#生成词云规则
wc = WordCloud(
    font_path=font, #使用的字体
    background_color = 'white', #背景色
    #width=2000, #宽度(如果用外置图片的话,就根据图片大小定)
    #height=1000, #高度(如果用外置图片的话,就根据图片大小定)
    mask = img_mask,#使用的图片矩阵
    random_state=42, #随机数种子,保证每次结果都一样
)

wc.generate(word_split) #运用在制定的字符串上
#plt.figure(figsize=(20,20))
fig,axe = plt.subplots() 
fig.set_size_inches(16,13) #调整画板大小
plt.imshow(wc) #图片画在画布上
plt.axis('off')#关闭坐标轴
plt.show()#展示图片
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值