前言
本文的文字及圖片來源于網路,僅供學習、交流使用,不具有任何商業用途,著作權歸原作者所有,如有問題請及時聯系我們以作處理,
疫情結束后,你最想做什么?摘掉口罩,出門曬曬太陽;吃貨們,是去韓國菜?還是擼串?還是火鍋?和家人待幾天,彌補春節缺失的陪伴;走進曾經熟悉的電影院,把錯過的賀歲大片全部都要一一補上,
當疫情結束后,是否想要去英雄城市武漢,看看櫻花,在戶部巷吃上一碗熱干面,看一看車來車往的長江大橋,是否將有更多的旅行計劃,不管是哪里的美景,都想要去看看,
旅行是為了放松心情、體驗地方特色,為了一場完美的旅行,制作一份詳細的旅行攻略是必不可少的,為此小編在上一篇文章中已爬取了《去哪兒》攻略庫,獲取了近3.8份攻略資料,資料欄位有:區域、目的地、標題、鏈接、攻略作者、出發日期、天數、照片數、人數、玩法、費用、閱讀數、點贊數、評論數、行程等,
資料預處理
對于獲取的資料,我們需要進行進一步的處理以滿足分析的需求,我們主要做的資料處理步驟如下:
- 洗掉重復值
- 修正欄位
- 洗掉不需要欄位
具體代碼實作
#資料讀取 import pandas as pd import re #資料讀取 base_data = https://www.cnblogs.com/hhh188764/p/pd.read_excel('trip_data_merge.xlsx') #洗掉重復值 base_data.drop_duplicates(inplace=True) #分析中不需要的欄位 base_data = https://www.cnblogs.com/hhh188764/p/base_data.drop(['鏈接'], axis=1) #欄位修正,方便統計 base_data['天數']= base_data['天數'].apply(lambda x :re.sub("\D", "", x) ) base_data['照片數']= base_data['照片數'].apply(lambda x :re.sub("\D", "", x) ) base_data['費用']= base_data['費用'].apply(lambda x :re.sub("\D", "", str(x) )) base_data['費用'] = base_data['費用'].apply(lambda x : eval(x) if len(x)>0 else 0 ) base_data['date']= base_data['出發日期'].apply(lambda x :x.split( )[0] ) base_data['date_year']= base_data['出發日期'].apply(lambda x :x.split( )[0][:4]) base_data['閱讀數']= base_data['閱讀數'].apply(lambda x : int(re.sub("\D", "", str(x)))*10000 if str(x).find('萬') else x)
資料分析、可視化
費用問題
外出旅行,首先要考慮的肯定的費用問題,因疫情原因,在費用的資料分析統計中,我們剔除了2020年的資料,考慮了2017年、2018年、2019年的資料,
上圖展示了近三年主要熱門目的地人均消費情況,包含國內、國外熱門地區,根據資料統計,國外人均平均消費為9461元,國內為3313元,游客在國外消費是國內消費的2.85倍,國內人均消費的排名前四名:麗江、三亞、香港、上海,在國外消費前四名:馬爾代夫、法國、美國、日本,為什么游客在馬爾代夫的人均消費比上海人均消費高達6倍的差距呢?
游客人群
馬爾代夫游客人群分布
上海游客人群分布
馬爾代夫,一個名字聽起來就讓人浮想聯翩的地方,被稱作上帝拋灑在人間的項鏈,人間最后的樂園,吸引了很多人去度假休閑,其中情侶占比高達54.8%,再加上機酒消費,這也成為馬爾代夫消費高的一個重要原因,上海游客人群比較分散,其中情侶占比15%左右,一人旅行、三五好友占比相對較高,
逗留時長
上海游客逗留時長
馬爾代夫游客逗留時長
判斷一個城市對游客對心引力,游客逗留時間是最核心指標,從上圖我們可以看到馬爾代夫的逗留時間占比中4-7天、8-10天合計占比高達80%以上,上海逗留時間在1-3天占比為52.45%,4-7天、8-10天合計占比約為41%,這樣是馬爾代夫人均消費高的一個重要因素,
玩法攻略
我們可以看到,美食、購物+美食、短途周末、海濱海島、自駕等玩法是大家的最愛,探險、環游、騎行等也收到不少人的喜愛,你喜歡什么樣的玩法呢?
打卡景點
去一個地方去旅行,有些景點必須要去的,對于一個陌生的城市,怎么樣可以快速確定打卡景點呢?小編選擇了上海、成都、武漢,看看這些是否有遺漏的打卡景點呢,
最贊路線
想去的打卡景點都有了,我們要有一個最完美的路線,小編在下面梳理一下網友點贊最高的路線,你是否滿意呢?下面進行圖片展示,
結論
至此,小編已帶大家了解一下旅游目的地的平均消費情況、玩法攻略、打卡攻略、最贊路線等,如果你有什么問題,歡迎評論區留言,因篇幅展示問題,附上部分核心代碼
核心代碼展示
#上海游客旅游逗留天數占比 from pyecharts import options as opts from pyecharts.charts import Pie from pyecharts.faker import Faker c = ( Pie() .add( "", [list(z) for z in zip(list(base_data_city_day_sh['天數']), list(base_data_city_day_sh['num']))], radius=["40%", "55%"], label_opts=opts.LabelOpts( position="outside", formatter="{a|{a}}{abg|}\n{hr|}\n {b|{b}: }{c} {per|{d}%} ", background_color="#eee", border_color="#aaa", border_width=1, border_radius=4, rich={ "a": {"color": "#999", "lineHeight": 22, "align": "center"}, "abg": { "backgroundColor": "#e3e3e3", "width": "100%", "align": "right", "height": 22, "borderRadius": [4, 4, 0, 0], }, "hr": { "borderColor": "#aaa", "width": "100%", "borderWidth": 0.5, "height": 0, }, "b": {"fontSize": 16, "lineHeight": 33}, "per": { "color": "#eee", "backgroundColor": "#334455", "padding": [2, 4], "borderRadius": 2, }, }, ), ) .set_global_opts(title_opts=opts.TitleOpts(title="上海游客逗留時間占比")) .render("上海游客逗留時間占比.html") )
詞云圖
import stylecloud from IPython.display import Image # 用于在jupyter lab中顯示本地圖片 result_gap = ' '.join(result) # 繪制詞云圖 stylecloud.gen_stylecloud(text=result_gap, max_words=1000, collocations=False, font_path=r'msyh.ttf', icon_name='fas fa-plane-departure', size=624, output_name='打卡詞云圖.png') Image(filename='打卡詞云圖.png')
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/109002.html
標籤:Python
上一篇:djangorestframework學習1-通過HyperlinkedModelSerializer,ModelViewSet,routers撰寫第一個介面
