失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 微博爬虫及舆情分析-2.用户分析

微博爬虫及舆情分析-2.用户分析

时间:2022-11-17 04:16:39

相关推荐

微博爬虫及舆情分析-2.用户分析

import pandas as pdimport re#读取数据user_frame = pd.read_csv('users.csv',index_col=None)user_frame.head(2)# 我用的是notebook所以这里只有截图发上来

# location字段整理,保留到省份user_frame['location']=user_frame.location.fillna('其他')def get_provience(loc):location = str(loc)location = re.findall(r"^[\u4e00-\u9fff][^' ']*",location)if not location:return '其他'return location[0]user_frame['location'] = user_frame['location'].apply(get_provience)

# 认证用户比例import matplotlib.pyplot as plt%matplotlib inlineplt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签plt.figure(figsize=[15,6])plt.subplot(1,2,1)labels = ['其他用户','认证用户']plt.title("认证用户比例")user_frame.groupby('verified').size().plot.pie(labels=labels,autopct='%1.1f%%',shadow=False,startangle=90)plt.subplot(1,2,2)labels = ['女性','男性']plt.title("用户男女比例")user_frame.groupby('gender').size().plot.pie(labels=labels,autopct='%1.1f%%',shadow=False,startangle=90)

可见,关注华为5g这个话题的用户以男性为主。

并且大部分为认证用户。

# 用户地域分布(国内用户去除'海外'和'其他')plt.figure(figsize=(15,5))ax1 = plt.subplot(1,2,1)plt.ylabel('用户数量')plt.title("认证用户地域分布")verified_users.groupby('location').size().drop(['海外','其他']).plot.bar()ax2 = plt.subplot(1,2,2)plt.ylabel('用户数量')plt.title("其他用户地域分布")other_users.groupby('location').size().drop(['海外','其他']).plot.bar()

这个分布情况展示还不是很清楚,下面采用地图热力图的方式进行展示.

#使用pyecharts在地图上通过热力图展示用户活跃区域from pyecharts.charts import Geofrom pyecharts import options as optsfrom pyecharts.globals import GeoTypeuser_location = dict(user_frame.groupby('location').size().drop(['海外','其他']))# 这里需要将数据格式转换为json支持的格式user_location= [(str(p),int(v)) for p,v in user_location.items()]geo = Geo()geo.add_schema()geo.add("geo",user_location,type_=GeoType.HEATMAP)geo.set_series_opts(label_opts=opts.LabelOpts(is_show=False))geo.set_global_opts(visualmap_opts=opts.VisualMapOpts(is_piecewise=False,max_=100),title_opts=opts.TitleOpts(title="认证用户地域分布"))geo.render_notebook()

-----标准中国地图,一点都不能少----

可以看到这些用户基本都分布在北京、上海、珠三角这三个区域

如果觉得《微博爬虫及舆情分析-2.用户分析》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。