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

yipeiwu_com5年前Python基础

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

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

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程序设计有所帮助。

相关文章

python中dict()的高级用法实现

python中dict()的高级用法实现

collections中defaultdict的用法 一、字典的键映射多个值 将下面的列表转换成字典 一个字典就是一个键对应一个单值得映射,而上面的列表中有相同的键,如果你想要一个键映...

Python pycharm 同时加载多个项目的方法

Python pycharm 同时加载多个项目的方法

在pycharm中只能一个项目存在,想打开另一个项目只能建一个新窗口或者把当前窗口覆盖掉。 在pycharm中其实可以同时打开多个项目: 1、file->setting->p...

Flask项目中实现短信验证码和邮箱验证码功能

Flask项目中实现短信验证码和邮箱验证码功能

Flask是一个用Python编写的Web应用程序框架,Flask是python的web框架,最大的特征是轻便,让开发者自由灵活的兼容要开发的feature。 它由 ...

实例解析Python设计模式编程之桥接模式的运用

实例解析Python设计模式编程之桥接模式的运用

我们先来看一个例子: #encoding=utf-8 # #by panda #桥接模式 def printInfo(info): print unicode(i...

Python实现备份文件实例

本文实例讲述了Python实现备份文件的方法,是一个非常实用的技巧。分享给大家供大家参考。具体方法如下: 该实例主要实现读取一个任务文件, 根据指定的任务参数自动备份. 任务文件的格式:...