溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用Python實(shí)現(xiàn)的微信好友數(shù)據(jù)分析功能

發(fā)布時(shí)間:2021-04-12 13:45:58 來(lái)源:億速云 閱讀:326 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下如何使用Python實(shí)現(xiàn)的微信好友數(shù)據(jù)分析功能,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

具體如下:

這里主要利用python對(duì)個(gè)人微信好友進(jìn)行分析并把結(jié)果輸出到一個(gè)html文檔當(dāng)中,主要用到的python包為itchat,pandas,pyecharts等

1、安裝itchat 微信的python sdk,用來(lái)獲取個(gè)人好友關(guān)系。獲取的代碼 如下:

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、對(duì)獲取到的數(shù)據(jù)進(jìn)行分析。

主要分析了男女比例,以及好友所在城市分布,并且在地圖上面展示了微信好友的分布情況。另外其他的數(shù)據(jù)讀者可以自己去分析,這里只是提供一個(gè)引導(dǎo)而已。

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("個(gè)人微信好友男女比例")
bar.add("男女人數(shù)", ["男", "女", "不詳"], [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()

男女比例畫出來(lái)的圖如下所示

如何使用Python實(shí)現(xiàn)的微信好友數(shù)據(jù)分析功能

獲取到的好友分布情況如下圖所示:

如何使用Python實(shí)現(xiàn)的微信好友數(shù)據(jù)分析功能

以上是“如何使用Python實(shí)現(xiàn)的微信好友數(shù)據(jù)分析功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI