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

本文实例讲述了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程序设计有所帮助。

希望与广大网友互动??

点此进行留言吧!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值