日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
用Python分析元旦旅游熱門城市

 元旦馬上就要到了,難得的3天小長假,玩肯定是要去玩的,但去哪兒玩是個問題。于是,筆者以旅游熱門城市廈門為例,用Python獲取了去哪兒網(wǎng)的相關景點數(shù)據(jù),包括景點名稱、地區(qū)、評分、銷量、價格、坐標等字段,對數(shù)據(jù)進行可視化并作簡單分析,以求找到性價比較高的景點。

成都創(chuàng)新互聯(lián)專注于衡陽企業(yè)網(wǎng)站建設,自適應網(wǎng)站建設,商城系統(tǒng)網(wǎng)站開發(fā)。衡陽網(wǎng)站建設公司,為衡陽等地區(qū)提供建站服務。全流程按需定制網(wǎng)站,專業(yè)設計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務

數(shù)據(jù)獲取

去哪兒網(wǎng)數(shù)據(jù)采集相對簡單,找到真實url后,構造參數(shù)拼接,用request請求到json數(shù)據(jù),以追加模式將數(shù)據(jù)存儲為csv文件即可。

爬蟲核心代碼如下: 

 
 
 
 
  1. # -*- coding = uft-8 -*-  
  2. # @Time : 2020/12/25 9:47 下午  
  3. # @Author : 公眾號 菜J學Python  
  4. # @File : 去哪兒.py  
  5. import requests  
  6. import random  
  7. from time import sleep  
  8. import csv  
  9. import pandas as pd  
  10. from fake_useragent import UserAgent  
  11. def get_data(keyword,page):  
  12.     ua = UserAgent(verify_ssl=False)  
  13.     headers = {"User-Agent": ua.random}  
  14.     url = f'http://piao.qunar.com/ticket/list.json?keyword={keyword}®ion=&from=mpl_search_suggest&page={page}'  
  15.     res = requests.request("GET", url,headersheaders=headers)  
  16.     sleep(random.uniform(1, 2))  
  17.     try:  
  18.         resres_json = res.json()  
  19.         #print(res_json) 
  20.          sight_List = res_json['data']['sightList']  
  21.         print(sight_List)  
  22.     except:  
  23.         pass  
  24. if __name__ == '__main__':  
  25.     keyword = "廈門"  
  26.     for page in range(1,100): #控制頁數(shù)  
  27.         print(f"正在提取第{page}頁")  
  28.         sleep(random.uniform(1, 2))  
  29.         get_data(keyword,page) 

數(shù)據(jù)處理

導入相關包

首先導入數(shù)據(jù)處理和數(shù)據(jù)可視化相關第三方庫,便于后續(xù)操作。 

 
 
 
 
  1. import pandas as pd   
  2. import numpy as np  
  3. import matplotlib.pyplot as plt  
  4. import seaborn as sns  
  5. %matplotlib inline  
  6. plt.rcParams['font.sans-serif'] = ['SimHei']  # 設置加載的字體名  
  7. plt.rcParams['axes.unicode_minus'] = False   # 解決保存圖像是負號'-'顯示為方塊的問題   
  8. import jieba  
  9. import re  
  10. from pyecharts.charts import *  
  11. from pyecharts import options as opts   
  12. from pyecharts.globals import ThemeType    
  13. import stylecloud  
  14. from IPython.display import Image 

導入景點數(shù)據(jù)

用pandas讀取爬取的csv格式景點數(shù)據(jù)并預覽。 

 
 
 
 
  1. df = pd.read_csv("/菜J學Python/旅游/廈門旅游景點.csv",names=['name', 'star', 'score','qunarPrice','saleCount','districts','point','intro'])  
  2. df.head() 

刪除重復數(shù)據(jù)

網(wǎng)站存在一定的重復數(shù)據(jù),需要進行剔除。 

 
 
 
 
  1. dfdf = df.drop_duplicates() 

查看數(shù)據(jù)信息

查看字段類型和缺失值情況,符合分析需要,無需另作處理。 

 
 
 
 
  1. df.info()    
 
 
 
 
  1.   
  2.    Int64Index: 422 entries, 0 to 423  
  3.    Data columns (total 8 columns):  
  4.     #   Column      Non-Null Count  Dtype    
  5.    ---  ------      --------------  -----    
  6.     0   name        422 non-null    object   
  7.     1   star        422 non-null    object   
  8.     2   score       422 non-null    float64  
  9.     3   qunarPrice  422 non-null    float64  
  10.     4   saleCount   422 non-null    int64    
  11.     5   districts   422 non-null    object   
  12.     6   point       422 non-null    object   
  13.     7   intro       377 non-null    object   
  14.    dtypes: float64(2), int64(1), object(5)  
  15.    memory usage: 29.7+ KB 

描述性統(tǒng)計

從描述性統(tǒng)計表可知,剔除重復數(shù)據(jù)后,剩余424個景點,門票均價為40元。 

 
 
 
 
  1. color_map = sns.light_palette('orange', as_cmap=True)  # light_palette調(diào)色板  
  2. df.describe().style.background_gradient(color_map) 

可視化分析

景點介紹

通過對廈門景點介紹文本進行詞云圖繪制,我們很容易看出廈門的特點。典型的海濱休閑城市,帆船、鼓浪嶼、游艇等詞被大量提及,建筑、博物館等詞也有一定提及,體現(xiàn)出廈門濃厚的人文氣息。 

 
 
 
 
  1. #繪制詞云圖  
  2. text1 = get_cut_words(content_series=df['intro'])  
  3. stylecloud.gen_stylecloud(text=' '.join(text1), max_words=100,  
  4.                           collocations=False,  
  5.                           font_path='simhei.ttf',  
  6.                           icon_name='fas fa-heart',  
  7.                           size=653,  
  8.                           #palette='matplotlib.Inferno_9',  
  9.                           output_name='./offer.png')  
  10. Image(filename='./xiamen.png') 

景點分布

利用kepler.gl繪制廈門市旅游景點分布地圖,同時以圓圈的大小表示門票月銷量的大小,我們可以很清晰的看到,廈門市景點集中分布在思明區(qū)和湖里區(qū),其他區(qū)域分布較為分散。尤其是思明區(qū),門票銷量遙遙領先其他區(qū)域。 

 
 
 
 
  1. df["lon"] = df["point"].str.split(",",expand=True)[0]   
  2. df["lat"] = df["point"].str.split(",",expand=True)[1]   
  3. df.to_csv("/菜J學Python/data.csv") 

評分TOP10景點

從景點評分來看,廈門大學評分最高,5分滿分。其次是鼓浪嶼和南普陀寺,分別為4.9分和4.6分。難怪有人說,沒去過廈大和鼓浪嶼,相當于沒來過廈門。 

 
 
 
 
  1. dfdf_score = df.pivot_table(index='name',values='score')  
  2. df_score.sort_values('score',inplace=True,ascending=False)  
  3. df_score[:10] 

月銷量TOP10景點

從門票月銷量來看,鼓浪嶼排第一,月銷量1230,其次是廈門園林植物園和鼓浪嶼往返輪渡。廈門方特夢幻王國也有600以上的月銷量。 

 
 
 
 
  1. dfdf_saleCount = df.pivot_table(index='name',values='saleCount')  
  2. df_saleCount.sort_values('saleCount',inplace=True,ascending=False)  
  3. df_saleCount[:10] 

價格TOP20景點

從景點價格來看,玩游艇、直升機、帆船類的活動花銷較大,另外,廈門方特價格也不便宜,如果對價格不敏感可以考慮,如果是窮游可以提前避開。 

 
 
 
 
  1. dfdf_qunarPrice = df.pivot_table(index='name',values='qunarPrice')  
  2. df_qunarPrice.sort_values('qunarPrice',inplace=True,ascending=False)  
  3. df_qunarPrice[:20] 

月銷售額TOP20景點

由于廈門近一個月景點銷量的變化幅度小于價格的變化幅度,銷售額受價格影響更大。從以下圖中也可以看出,月銷售額較大的景點仍然是游艇、方特之類。 

 
 
 
 
  1. df["saleTotal"] = df["qunarPrice"]*df["saleCount"]  
  2. dfdf_saleTotal = df.pivot_table(index='name',values='saleTotal')  
  3. df_saleTotal.sort_values('saleTotal',inplace=True,ascending=False)  
  4. df_saleTotal[:20] 

景點等級分布

從廈門景點等級分布來看,3A以上等級景點占比不到5%。 

 
 
 
 
  1. dfdf_star = df["star"].value_counts() 
  2. df_stardf_star = df_star.sort_values(ascending=False)  
  3. #print(df_star)  
  4. c = (  
  5.         Pie(init_opts=opts.InitOpts(theme=ThemeType.WALDEN))  
  6.         .add(  
  7.             "", 
  8.              [list(z) for z in zip(df_star.index.to_list(),df_star.to_list())]  
  9.         )  
  10.         .set_global_opts(legend_opts = opts.LegendOpts(is_show = False),title_opts=opts.TitleOpts(title="景點等級分布",subtitle="數(shù)據(jù)來源:去哪兒網(wǎng)\n制圖:菜J學Python",pos_top="0.5%",pos_left = 'left')) 
  11.          .set_series_opts(label_opts=opts.LabelOpts(formatter=":sujp6f4%",font_size=16))  
  12.     )  
  13. c.render_notebook() 
 
 
 
 
  1. df[df["star"]!='無'].sort_values("star",ascending=False) 

以下為篩選出的部分3A及以上景點:

小結(jié)

通過以上簡單的分析,我們大致可以獲得以下幾點啟發(fā): 

1.廈門是典型的海濱休閑城市,具有豐富的海洋和人文景觀;

2.廈門旅游景點主要集中分布在思明區(qū),其他區(qū)域較為分散;

3.廈門大學口碑最高,其次才是鼓浪嶼;

4.鼓浪嶼門票銷量遙遙領先廈門其他景點;

5.消費較高的景點或活動包括游艇、帆船和方特。

溫馨提示:疫情還未完全散去,元旦游玩盡量避開風險區(qū)域。 


新聞名稱:用Python分析元旦旅游熱門城市
網(wǎng)站URL:http://www.dlmjj.cn/article/coeohii.html