成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

用Python分析元旦旅游熱門城市

開發(fā) 后端
元旦馬上就要到了,難得的3天小長假,玩肯定是要去玩的,但去哪兒玩是個問題。于是,筆者以旅游熱門城市廈門為例,用Python獲取了去哪兒網(wǎng)的相關(guān)景點數(shù)據(jù)。

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

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

去哪兒網(wǎng)數(shù)據(jù)采集相對簡單,找到真實url后,構(gòu)造參數(shù)拼接,用request請求到j(luò)son數(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}&region=&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ù)處理

導入相關(guān)包

首先導入數(shù)據(jù)處理和數(shù)據(jù)可視化相關(guān)第三方庫,便于后續(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']  # 設(shè)置加載的字體名  
  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. <class 'pandas.core.frame.DataFrame'>  
  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ū),門票銷量遙遙領(lǐng)先其他區(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="{b}:owocgsc%",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.鼓浪嶼門票銷量遙遙領(lǐng)先廈門其他景點;

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

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

 

責任編輯:龐桂玉 來源: Python中文社區(qū)
相關(guān)推薦

2020-10-27 06:39:14

智慧城市智慧旅游物聯(lián)網(wǎng)

2023-04-09 23:17:16

Python監(jiān)控城市空氣

2021-08-02 23:15:20

Pandas數(shù)據(jù)采集

2022-05-05 14:48:47

大數(shù)據(jù)旅游五一

2019-09-29 10:00:46

Python程序員旅游

2014-04-08 15:16:07

2048算法分析算法

2017-10-10 13:13:48

2018-06-15 11:22:52

Python分析世界杯

2019-08-12 10:32:30

大數(shù)據(jù)數(shù)據(jù)科學云計算

2013-07-05 09:30:07

大數(shù)據(jù)旅游業(yè)革命

2020-07-23 09:15:25

Python機器學習聚類分析

2023-01-28 10:09:00

Pandas數(shù)據(jù)分析Python

2017-10-10 15:42:56

Python鹿晗關(guān)曉彤

2017-03-07 10:32:11

智慧城市王茜網(wǎng)絡(luò)

2010-04-23 17:26:23

CTO

2019-12-16 13:49:45

智慧城市物聯(lián)網(wǎng)基礎(chǔ)設(shè)施

2021-10-20 10:10:45

數(shù)據(jù)分析智慧城市大數(shù)據(jù)

2022-02-07 22:48:07

大數(shù)據(jù)春節(jié)冬奧會帶

2020-04-29 11:26:54

Python數(shù)據(jù)消費券

2013-04-16 15:03:24

飛魚星無線云無線AP
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲一区二区三区四区av | 欧美日韩高清免费 | 午夜av电影 | 久草在线视频中文 | 欧美精品一区二区三区蜜桃视频 | 国产精品日本一区二区在线播放 | 欧美激情 亚洲 | 久久久一二三区 | av黄色在线| 国产精品成人一区 | 欧美激情久久久 | 精品一区国产 | 久久国产日韩 | 成人免费淫片aa视频免费 | 久草日韩| 国产在线精品免费 | 亚洲一区二区久久 | av片在线观看网站 | 热久久免费视频 | 丁香综合| av大片在线观看 | 亚洲高清在线观看 | 亚洲高清在线 | 欧美久久国产精品 | 欧美在线一区视频 | 精品久久久久久久久亚洲 | 欧美视频日韩 | 久久躁日日躁aaaaxxxx | 男女网站在线观看 | 天堂久久天堂综合色 | 在线观看视频中文字幕 | 中文字幕在线不卡 | 日韩欧美视频 | 成人在线精品 | 精品视频免费在线 | 国产精品视频免费观看 | 自拍偷拍3p | 欧美一区在线视频 | 一区二区av | 一级毛片免费看 | 国产视频久久久 |