小编给大家分享一下如何使用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实现的微信好友数据分析功能”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。