微信好友个性标签词云--微信数据分析(四)
生活随笔
收集整理的這篇文章主要介紹了
微信好友个性标签词云--微信数据分析(四)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
簡述
代碼
- 先通過下面鏈接中的代碼打包好數據了
- https://blog.csdn.net/a19990412/article/details/82942269
構建詞云的時候,采用的背景圖
生成的效果為:
可以發現,我的微信朋友們的雖然表面上看起來一個個都是逗比,但是個性標簽似乎都是慢慢的正能量哇~
- 下面使用的時候,我用的是我之前已經打包好的數據文件
- 如果你也想要使用的話,你需要根據上面的我給出的那個連接,先下載下數據先
- 或者是根據下面代碼直接調用那個函數就好了我自己寫的那個
加上權重的版本:
import itchat import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import re import jieba import jieba.analyse from wordcloud import WordCloud, ImageColorGenerator import numpy as np import PIL.Image as Imagedef login_and_getData(columns=[]):itchat.auto_login(hotReload=True)# 第一個就是自己friendList = itchat.get_friends(update=True)[1:]if len(columns) == 0:columns = friendList[0].keys()df = pd.DataFrame(columns=columns)val = [0] * len(friendList)for c in columns:for i in range(len(friendList)):val[i] = friendList[i][c]df[c] = valreturn dfdef read(filename):try:return pd.read_excel(filename)except Exception:return pd.read_csv(filename)if __name__ == '__main__':sns.set_palette('deep', desat=.6)# df = login_and_getData()# df.to_excel('wechat-1.xlsx')df = read('wechat-1.xlsx')plt.rcParams['font.sans-serif'] = ['SimHei']siglist = df['Signature'].dropna()# 有些是包括表情的標簽 需要去愛哦ser = pd.Series(map(lambda x: re.sub('<span(.*?)/span>', '', x), siglist))# 將所有的標簽都拼起來text = ''.join(ser)text_dict = dict(jieba.analyse.extract_tags(text, withWeight=True))# 讀取圖片coloring = np.array(Image.open("wechat.jpg"))# 用這個圖片作為邊界# 設置font_path設置字體,同時為了顯示中文my_wordcloud = WordCloud(background_color="white", max_words=2000,mask=coloring, max_font_size=100, random_state=42, scale=2,font_path="C:/windows/Fonts/FZSTK.TTF").generate_from_frequencies(text_dict)# 得到這個圖片的色彩分布image_colors = ImageColorGenerator(coloring)plt.imshow(my_wordcloud.recolor(color_func=image_colors))# 關閉橫縱坐標plt.axis("off")# 顯示圖片plt.show()總結
以上是生活随笔為你收集整理的微信好友个性标签词云--微信数据分析(四)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信好友数据打包下载--微信数据分析(二
- 下一篇: Pandas通过某列不是NaN来进行筛选