200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > python朋友圈数据分析_基于Python的微信朋友圈数据可视化分析之地点

python朋友圈数据分析_基于Python的微信朋友圈数据可视化分析之地点

时间:2022-05-08 17:55:05

相关推荐

python朋友圈数据分析_基于Python的微信朋友圈数据可视化分析之地点

前提

朋友圈的相关数据请参照上一篇文章《基于Python的微信朋友圈数据可视化分析之个性签名》获取,本篇文章默认需要的数据已经下载保存至本地的 csv 文件中了。

将好友的地点按照省份进行统计import pandas as pd

from collections import Counter

from pyecharts import Map

wechat_info = pd.read_csv("wechat_friends_info.csv", encoding="gbk")

province = wechat_info['Province']

province_list = []

for i in list(province):

if isinstance(i, str):

if ' ' in i or i.encode( 'UTF-8' ).isalpha(): # 如果是英文城市,则代表不是国内的城市,暂不做处理

continue

province_list.append(i)

friends_address = list(Counter(province_list).keys())

friends_count = list(Counter(province_list).values())

map = Map("我的微信好友分布", "@高正杰", width=1200, height=600)

map.add("", friends_address, friends_count, maptype='china',

is_visualmap=True, is_piecewise=True,

visual_text_color="#000",

visual_range_text=["", ""],

pieces=[

{"max": 160, "min": 70, "label": "高数值"},

{"max": 69, "min": 0, "label": "低数值"},

])

map.render('province.html')

生成的结果截图如下所示,体验地址

将好友的地点按照城市进行统计import pandas as pd

from collections import Counter

from pyecharts import Geo

from pyecharts.datasets.coordinates import get_coordinate

wechat_info = pd.read_csv("wechat_friends_info.csv", encoding="gbk")

city = wechat_info['City']

city_list = []

for i in list(city):

if isinstance(i, str):

if ' ' in i or i.encode( 'UTF-8' ).isalpha(): # 如果是英文城市,则代表不是国内的城市,暂不做处理

continue

if get_coordinate(i) is None:

if get_coordinate(i+'市') is not None:

i = i + '市'

elif get_coordinate(i+'区') is not None:

i = i + '区'

city_list.append(i)

def geo_formatter(params):

return params.name + ' : ' + params.value[2]

geo = Geo(

"我的微信好友分布",

"@高正杰",

title_color="#fff",

title_pos="center",

width=1200,

height=600,

background_color="#404a59",

)

attr, value = geo.cast(Counter(city_list))

geo.add(

"",

attr,

value,

visual_range=[0, 91],

tooltip_formatter=geo_formatter, # 重点在这里,将函数直接传递为参数。

visual_text_color="#fff",

symbol_size=15,

is_visualmap=True,

)

geo.render('city.html')

生成的结果截图如下所示,体验地址

遇到的问题

现象

在 Jupyter notebook 中显示空白,生成的 HTML 文件打开只显示南海诸岛,不显示其他内容。

原因

自从 v0.3.2 开始,为了缩减项目本身的体积以及维持 pyecharts 项目的轻量化运行,pyecharts 将不再自带地图 js 文件。如用户需要用到地图图表,则需要自行安装对应的地图文件包。

解决办法

将以下几个文件包全包安装,关于这些包的含义,可以参考《自定义地图》pip install echarts-countries-pypkg

pip install echarts-china-provinces-pypkg

pip install echarts-china-cities-pypkg

pip install echarts-china-counties-pypkg

pip install echarts-china-misc-pypkg注意:如果安装完成后,在 Jupyter Notebook 中生成的图形还是无法查看,则需要重启 Jupyter Notebook 即可解决问题。

参考文献

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