拉勾網“設計”職位數據分析之用pyecharts畫地圖Geo,Map

我爬了拉勾網搜索“設計”職位的招聘信息,詳見Python爬蟲獲取拉勾網招聘信息。接下來準備逐步分析一下,本篇主要用pyecharts畫地圖Geo,Map。

import pandas as pd
from pyecharts import options as opts 
from pyecharts.charts import Geo,Map 
from pyecharts.globals import ChartType, SymbolType,ThemeType
df = pd.read_excel('lagou_sj0309_155511.xlsx')
result=pd.value_counts(df['city'])
print(result)

得到各個城市對設計類人才的需求統計
之前爬取的數據只有城市信息,想顯示到中國地圖上還是轉化爲省份信息比較好。

dfp = pd.read_excel('province.xlsx')
df_new = pd.merge(df,dfp.loc[:,['city','province']],how='left',on = 'city')
result=pd.value_counts(df_new['province'])
resultp=dict(result)
province = list(resultp.keys())
values = list(resultp.values())
valuesint=[]
for i in values:
    valuesint.append(int(i))

其中’province.xlsx’是我從網上找的城市–省市對應表。下面就正式畫圖啦

c1 = (
    Geo()
    .add_schema(maptype="china")
    .add("各個省市招聘人數", #標題
         [list(z) for z in zip(province, valuesint)],#省份數據列表,地名不能帶“省”字
         type_=ChartType.EFFECT_SCATTER)#選擇顯示類型
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))#不顯示標籤
    .set_global_opts(
        visualmap_opts=opts.VisualMapOpts(max_=200,is_piecewise = False),
        title_opts=opts.TitleOpts(title="全國各省數據分佈"),
    )
)
c1.render('各個省市招聘人數點地圖.html')#保存爲HTML
c1.render_notebook()#在notebook上顯示

各個省市招聘人數點地圖
接下來我們再試試畫map,前面的數據處理一樣,還是先轉換爲省份的數據。

c2 = (
    Map(init_opts=opts.InitOpts(bg_color="#fff", theme=ThemeType.ROMANTIC))#設置主題
    .add("各個省市招聘人數", [list(z) for z in zip(province, valuesint)], "china",is_map_symbol_show=False)
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(title_opts=opts.TitleOpts(title="各個省市招聘人數"),
    visualmap_opts=opts.VisualMapOpts(max_=200,is_piecewise = True,#圖例分段顯示
                                      pieces=[
                {"min": 201, "label": '>200人', "color": "#e55039"},  # 不指定 max,表示 max 爲無限大(Infinity),指定顏色。
                {"min": 101, "max": 200, "label": '101-200人', "color": "#FF4500"},
                {"min": 51, "max": 100, "label": '51-100人', "color": "#FF7F50"},
                {"min": 10, "max": 50, "label": '10-50人', "color": "#FFA500"},
                {"min": 1, "max": 9, "label": '1-9人', "color": "#FFDEAD"},
            ]

                                     ))
)
c2.render('各個省市招聘人數塊地圖.html')
c2.render_notebook()

各個省市招聘人數塊地圖
還是挺容易的吧~
如需轉載請註明來源:https://blog.csdn.net/bo_gu/article/details/104844599

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章