溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么用Python制作一份可視化的旅行攻略

發(fā)布時(shí)間:2021-11-25 14:29:47 來源:億速云 閱讀:228 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要介紹“怎么用Python制作一份可視化的旅行攻略”,在日常操作中,相信很多人在怎么用Python制作一份可視化的旅行攻略問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”怎么用Python制作一份可視化的旅行攻略”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

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

對(duì)于獲取的數(shù)據(jù),我們需要進(jìn)行進(jìn)一步的處理以滿足分析的需求,我們主要做的數(shù)據(jù)處理步驟如下:

  • 刪除重復(fù)值

  • 修正字段

  • 刪除不需要字段

具體代碼實(shí)現(xiàn)

#數(shù)據(jù)讀取
import pandas as pd
import re
#數(shù)據(jù)讀取
base_data =  pd.read_excel('trip_data_merge.xlsx')
#刪除重復(fù)值
base_data.drop_duplicates(inplace=True)
#分析中不需要的字段
base_data = base_data.drop(['鏈接'], axis=1)
#字段修正,方便統(tǒng)計(jì)
base_data['天數(shù)']= base_data['天數(shù)'].apply(lambda x :re.sub("\D", "", x) )
base_data['照片數(shù)']= base_data['照片數(shù)'].apply(lambda x :re.sub("\D", "", x) )
base_data['費(fèi)用']= base_data['費(fèi)用'].apply(lambda x :re.sub("\D", "", str(x) ))
base_data['費(fèi)用'] = base_data['費(fèi)用'].apply(lambda x : eval(x) if len(x)>0 else 0 )
base_data['date']= base_data['出發(fā)日期'].apply(lambda x :x.split( )[0] )
base_data['date_year']= base_data['出發(fā)日期'].apply(lambda x :x.split( )[0][:4])
base_data['閱讀數(shù)']= base_data['閱讀數(shù)'].apply(lambda x : int(re.sub("\D", "", str(x)))*10000 if str(x).find('萬') else x)

數(shù)據(jù)分析、可視化

費(fèi)用問題

外出旅行,首先要考慮的肯定的費(fèi)用問題。因疫情原因,在費(fèi)用的數(shù)據(jù)分析統(tǒng)計(jì)中,我們剔除了2020年的數(shù)據(jù),考慮了2017年、2018年、2019年的數(shù)據(jù)。

怎么用Python制作一份可視化的旅行攻略

上海游客人群分布

怎么用Python制作一份可視化的旅行攻略

馬爾代夫游客逗留時(shí)長(zhǎng)

怎么用Python制作一份可視化的旅行攻略

怎么用Python制作一份可視化的旅行攻略

核心代碼展示

#上海游客旅游逗留天數(shù)占比
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['天數(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|: }{c}  {per|chzohdp%}  ",
            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="上海游客逗留時(shí)間占比"))
    .render("上海游客逗留時(shí)間占比.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')

到此,關(guān)于“怎么用Python制作一份可視化的旅行攻略”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI