一、導入模塊配置中文
import pandas as pd import numpy as np from matplotlib import pyplot as plt # 支持中文 plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False
二、從csv中讀取爬取得數據
採集代碼:https://github.com/song-zhixue/lagouhtml
data = pd.read_csv("./lagou_data.csv",sep = ',',encoding = 'gbk') data.head()
三、進行數據清洗
這裏我只作了簡單得清洗就是去掉空值python
1
2
3
4
5
6
7
8
|
-
去重
-
去空
-
1
刪除
-
2
替換
-
3
填充
-
去異常
-
1
非法數據 好比原本應該是數字列的中間夾雜着一些漢字或者是符號
-
2
異常數據 異乎尋常的大數值或者是小數值
|
data.isnull() data.isnull().any() # 按照列統計空值,查看哪一列有空值
城市 False 公司全稱 False 企業編碼 False 公司簡介 False 公司logo False 公司規模 False 發佈時間 False 區域 True 學歷 False 融資狀況 False 類型 False 工做性質 False 經度 True 緯度 True 地鐵 True 福利 False 職位名稱 False 薪資 False 工做年限 False 崗位 False dtype: bool
data = data.dropna() # 默認會刪除包含缺失值的行 data
四、根據城市招聘狀況繪製餅圖TOP10
data["城市"].value_counts() 北京 258 上海 149 深圳 136 廣州 54 成都 48 杭州 31 武漢 22 南京 12 重慶 7 蘇州 5 天津 4 石家莊 3 長沙 3 廈門 3 西安 2 鄭州 2 青島 2 大連 2 佛山 2 長春 1 貴陽 1 Name: 城市, dtype: int64
ret = data["城市"].value_counts().head(10).plot(kind='pie',autopct='%1.2f%%',figsize=(10,8)) # 取前10個結果進行繪圖 ret plt.show
五、根據學歷繪製柱狀圖
data["學歷"].value_counts() 本科 613 大專 73 不限 50 碩士 11 Name: 學歷, dtype: int64 data["學歷"].value_counts().plot(kind='bar') plt.xticks(rotation=0)
六、根據工做經驗繪製條形圖
data["工做年限"].value_counts() 3-5年 317 1-3年 193 5-10年 90 不限 79 應屆畢業生 62 1年如下 5 10年以上 1 Name: 工做年限, dtype: int64 data["工做年限"].value_counts().plot(kind='barh',color="orange")
七、根據公司規模繪製餅圖和條形圖
data["公司規模"].value_counts() 150-500人 190 50-150人 181 15-50人 130 2000人以上 112 500-2000人 100 少於15人 34 Name: 公司規模, dtype: int64 data["公司規模"].value_counts().plot(kind='pie',autopct='%1.2f%%')
data["公司規模"].value_counts().plot(kind='barh',color="red")
八、根據融資狀況繪製條形圖
data["融資狀況"].value_counts() 不須要融資 187 A輪 118 B輪 114 上市公司 96 未融資 88 天使輪 55 C輪 54 D輪及以上 35 Name: 融資狀況, dtype: int64 data["融資狀況"].value_counts().plot(kind='bar') plt.xticks(rotation=45)
九、根據福利待遇繪製詞雲
# 利用結巴進行分詞 import jieba # 繪製詞雲 import wordcloud # 自定義詞雲背景 from PIL import Image data["福利"] all_str = '' for i in data["福利"]: all_str += i # 利用jieba進行分詞 lis = jieba.lcut(all_str) txt = " ".join(lis) # mask = np.array(Image.open("./詞雲.jpg")) # 自定義背景圖 w = wordcloud.WordCloud( font_path="msyh.ttc", width=400, height=400, background_color="white", # colormap="Reds", # mask=mask, # contour_width=1, # contour_color="red" ) w.generate(txt) w.recolor() # 隨機詞雲中的字體顏色 # w.to_file("福利.png") # 將詞雲保存在本地 w.to_image() # 查看生成的詞雲
十、地圖可視化
利用地圖無憂進行地圖可視化:https://www.dituwuyou.com/git
data[["經度","緯度"]] # 取經度和緯度這兩列數據
data[["經度","緯度"]].to_csv("./地圖經緯度.csv",encoding="gbk") # 導出csv用地圖無憂繪製地圖
導出到csv樣式github
1
2
3
|
-
https:
/
/
www.dituwuyou.com
/
orgs
/
321267
/
maps
-
帳號:xxxxxx
-
密碼:xxxxxx
|