Python实现的微信好友数据分析功能示例

2018-10-15 17:35

阅读:526

本文实例讲述了Python实现的微信好友数据分析功能。分享给大家供大家参考,具体如下:

这里主要利用python对个人微信好友进行分析并把结果输出到一个html文档当中,主要用到的python包为itchat,pandas,pyecharts等

1、安装itchat 微信的python sdk,用来获取个人好友关系。获取的代码 如下:

import itchat import pandas as pd from pyecharts import Geo, Bar itchat.login() friends = itchat.get_friends(update=True)[0:] def User2dict(User): User_dict = {} User_dict[NickName] = User[NickName] if User[NickName] else NaN User_dict[City] = User[City] if User[City] else NaN User_dict[Sex] = User[Sex] if User[Sex] else 0 User_dict[Signature] = User[Signature] if User[Signature] else NaN User_dict[Province] = User[Province] if User[Province] else NaN return User_dict friends_list = [User2dict(i) for i in friends] data = pd.DataFrame(friends_list) data.to_csv(wechat_data.csv, index=True)

2、对获取到的数据进行分析。

主要分析了男女比例,以及好友所在城市分布,并且在地图上面展示了微信好友的分布情况。另外其他的数据读者可以自己去分析,这里只是提供一个引导而已。

import pandas as pd from pyecharts import Geo, Bar def Cal_mVw(data): result = {} for i in data: if i == 1: result[man] = result.get(man, 0) + 1 elif i == 2: result[woman] = result.get(woman, 0) + 1 else: result[unknown] = result.get(nunknown, 0) + 1 return result def count_city(data): result = {} for i in data: if data is not NaN or data is not nan: result[i] = result.get(i, 0) + 1 return result data1 = pd.read_csv(wechat_data.csv, encoding=GBK) manVSwoman=Cal_mVw(data1[Sex]) #print(manVSwoman) bar = Bar(个人微信好友男女比例) bar.add(男女人数, [男, 女, 不详], [139, 75, 1]) bar.render() city=count_city(data1[City]) geo = Geo(微信好友分布, , title_color=#fff, title_pos=center, width=1200, height=600, background_color=#404a59) #attr, value = geo.cast(city) geo.add(, city.keys(), city.values(), visual_range=[0, 30], visual_text_color=#fff, symbol_size=15, is_visualmap=True) geo.show_config() geo.render()

男女比例画出来的图如下所示

获取到的好友分布情况如下图所示:

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。


评论


亲,登录后才可以留言!