数据分析案例-四川省旅游景点数据分析

简介: 数据分析案例-四川省旅游景点数据分析

数据集介绍

数据为四川省的各旅游景点信息,特征有景点名称、星级、城市、票价、销量、热度6个维度,部分数据如下:

加载数据

首先要导入本次项目用到的第三方包和数据

import pandas as pd
from pyecharts.charts import Pie,Bar,Map,Funnel
from pyecharts import options as  opts 
from pyecharts.globals import ThemeType
import seaborn as sns
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #显示中文标签
plt.rcParams['axes.unicode_minus']=False
import warnings
warnings.filterwarnings('ignore')
data = pd.read_csv('sichuan.csv')
data.head()



数据清洗

缺失值处理


# 查看缺失值
data.isnull().sum()


我们发现数据没有缺失值,不需要进行缺失值处理

如有缺失值,调用下面代码进行删除处理即可

# 删除缺失值
data.dropna(inplace=True)

重复值处理

查看数据是否有重复值

# 查看数据是否有重复值  结果为True则说明存在重复值,反正则没有
any(data.duplicated())

结果为True说明存在重复值,需要进行处理

# 删除重复值
data.drop_duplicates(inplace=True)

异常值处理

看看票价是否存在异常值


# 查看票价是否存在异常值
plt.boxplot(data['票价'])
plt.show()

我们发现票价存在明显的异常值,这里我们需要剔除出票价大于300的

# 对票价中的异常值进行处理,筛选出票价大于300的异常数据
data = data[data['票价']<300]
plt.boxplot(data['票价'])
plt.show()

数据预处理

# 根据各景区的票价和销量得出新的总销售额一列数据
data['总销售额'] = data['票价'] * data['销量']
data.head()


数据可视化

# 四川各星级景区的数量
df1 = data['星级'].value_counts()
plt.figure(figsize=(10,6))
plt.bar(x=df1.index,height=df1.values)
plt.xlabel('星级',fontsize=12)
plt.ylabel('数量',fontsize=12)
plt.title('四川各星级景区的数量',fontsize=12)
plt.show()

# 四川各星级景点数占比
result_list = [(i,j) for i,j in zip(df1.index.to_list(),df1.values.tolist())]
a = Pie(init_opts=opts.InitOpts(theme = ThemeType.DARK))
a.add(series_name='星级',
        data_pair=result_list,
        radius='70%',
        )
a.set_global_opts(title_opts=opts.TitleOpts(title="四川各星级景点数占比",
                    pos_top=50))
a.set_series_opts(tooltip_opts=opts.TooltipOpts(trigger='item',formatter='{a} <br/>{b}:{c} ({d}%)'))
a.render(path='饼图.html')
a.render_notebook()



# 分析票价、热度和销量之间的关系
plt.figure(figsize=(10,6))
plt.subplot(1,2,1)
plt.scatter(x=data['票价'],y=data['销量'])
plt.title('票价与销量的关系',fontsize=14)
plt.subplot(1,2,2)
plt.scatter(x=data['热度'],y=data['销量'])
plt.title('热度与销量的关系',fontsize=14)
plt.show()

# 个地区旅游景点的热力地图
df2 = data['城市'].value_counts()
city_data = [[x+'市',y] if x[-3:] != '自治州' else [x,y] for x,y in zip(df2.index.to_list(),df2.values.tolist())]
map = Map()
map.add('地区',city_data,
    maptype='四川',
    is_map_symbol_show=False,)
map.set_global_opts(
    title_opts=opts.TitleOpts('四川省'),
    visualmap_opts=opts.VisualMapOpts()
)
map.render(path='热力地图.html')
map.render_notebook()


# 漏斗图
funnel = Funnel()
funnel.add('',[(i,j) for i,j in zip(df2.index.to_list(),df2.values.tolist())],
label_opts=opts.LabelOpts(position='inside'))
funnel.set_global_opts(title_opts=opts.TitleOpts(title='漏斗图',pos_top=50))
funnel.render(path='漏斗图.html')
funnel.render_notebook()



# 分析各个特征之间的相关系数
fig = plt.figure(figsize=(10,10))
sns.heatmap(data.corr(),vmax=1,annot=True,linewidths=0.5,cbar=False,cmap='YlGnBu',annot_kws={'fontsize':25})
plt.xticks(fontsize=20)
plt.yticks(fontsize=20)
plt.title('各个特征之间的相关系数',fontsize=20)
plt.show()


# 景区名称词云图
from pyecharts.charts import WordCloud
import collections
result_list = []
for i in data['景点名称'].values:
    word_list = str(i).split('/')
    for j in word_list:
        result_list.append(j)
result_list
word_counts = collections.Counter(result_list)
word_counts_top = word_counts.most_common(100)
wc = WordCloud()
wc.add('',word_counts_top)
wc.render(path='词云图.html')
wc.render_notebook()


# 总销售额最高的前五名景区
df3 = data.sort_values('总销售额',ascending=False)[['景点名称','总销售额']].head()
plt.figure(figsize=(10,8))
plt.barh(y=df3['景点名称'].values,width=df3['总销售额'])
plt.title('总销售额最高的前五名景区',fontsize=14)
plt.show()

# 热度最高的前十名景区
df3 = data.sort_values(by='热度',ascending=False)[['景点名称','热度']].head(10)
plt.figure(figsize=(20,10))
sns.barplot(x='景点名称',y='热度',data=df3)
plt.xticks(fontsize=14)
plt.xlabel('景点名称',fontsize=14)
plt.ylabel('热度',fontsize=14)
plt.title('热度最高的前十名景区',fontsize=14)
plt.show()


# 销量前十的景点
df4 = data.sort_values(by='销量',ascending=False)[['景点名称','销量']].head(10)
a1 = Bar(init_opts=opts.InitOpts(theme=ThemeType.DARK))
a1.add_xaxis(df4['景点名称'].values.tolist())
a1.add_yaxis('销量',df4['销量'].values.tolist())
a1.reversal_axis()
a1.set_series_opts(label_opts=opts.LabelOpts(position="right"))
a1.set_global_opts(title_opts=opts.TitleOpts(title="销量前十的景点"))
a1.render(path='销量前十的景点.html')
a1.render_notebook()


data.groupby('城市').mean()[['票价','销量']].plot(kind='bar',figsize=(15,8),title='各个地区的平均票价和平均销量',fontsize=14)

以上就是四川省旅游景点数据分析,希望对学习数据分析的你有所帮助


目录
相关文章
|
3月前
|
数据采集 存储 数据挖掘
【优秀python数据分析案例】基于Python书旗网小说网站数据采集与分析的设计与实现
本文介绍了一个基于Python的书旗网小说网站数据采集与分析系统,通过自动化爬虫收集小说数据,利用Pandas进行数据处理,并通过Matplotlib和Seaborn等库进行数据可视化,旨在揭示用户喜好和市场趋势,为图书出版行业提供决策支持。
313 6
【优秀python数据分析案例】基于Python书旗网小说网站数据采集与分析的设计与实现
|
3月前
|
数据采集 数据可视化 关系型数据库
【优秀python 数据分析案例】基于python的穷游网酒店数据采集与可视化分析的设计与实现
本文介绍了一个基于Python的穷游网酒店数据采集与可视化分析系统,通过爬虫技术自动抓取酒店信息,并利用数据分析算法和可视化工具,提供了全国主要城市酒店的数量、星级、价格、评分等多维度的深入洞察,旨在为旅行者和酒店经营者提供决策支持。
106 4
【优秀python 数据分析案例】基于python的穷游网酒店数据采集与可视化分析的设计与实现
|
3月前
|
JSON 数据挖掘 API
案例 | 用pdpipe搭建pandas数据分析流水线
案例 | 用pdpipe搭建pandas数据分析流水线
|
3月前
|
数据采集 数据可视化 数据挖掘
【优秀python案例】基于python爬虫的深圳房价数据分析与可视化实现
本文通过Python爬虫技术从链家网站爬取深圳二手房房价数据,并进行数据清洗、分析和可视化,提供了房价走势、区域房价比较及房屋特征等信息,旨在帮助购房者更清晰地了解市场并做出明智决策。
132 2
|
3月前
|
数据采集 存储 数据可视化
【优秀python数据分析案例】基于python的中国天气网数据采集与可视化分析的设计与实现
本文介绍了一个基于Python的中国天气网数据采集与可视化分析系统,通过requests和BeautifulSoup库实现数据爬取,利用matplotlib、numpy和pandas进行数据可视化,提供了温湿度变化曲线、空气质量图、风向雷达图等分析结果,有效预测和展示了未来天气信息。
677 2
|
3月前
|
数据采集 数据可视化 算法
基于Python flask的boss直聘数据分析与可视化系统案例,能预测boss直聘某个岗位某个城市的薪资
本文介绍了一个基于Python Flask框架的Boss直聘数据分析与可视化系统,系统使用selenium爬虫、MySQL和csv进行数据存储,通过Pandas和Numpy进行数据处理分析,并采用模糊匹配算法进行薪资预测。
基于Python flask的boss直聘数据分析与可视化系统案例,能预测boss直聘某个岗位某个城市的薪资
|
4月前
|
数据采集 机器学习/深度学习 数据可视化
完整的Python数据分析流程案例解析-数据科学项目实战
【7月更文挑战第5天】这是一个Python数据分析项目的概览,涵盖了从CSV数据加载到模型评估的步骤:获取数据、预处理(处理缺失值和异常值、转换数据)、数据探索(可视化和统计分析)、模型选择(线性回归)、训练与评估、优化,以及结果的可视化和解释。此流程展示了理论与实践的结合在解决实际问题中的应用。
109 1
|
5月前
|
数据采集 机器学习/深度学习 数据可视化
数据挖掘实战:Python在金融数据分析中的应用案例
Python在金融数据分析中扮演关键角色,用于预测市场趋势和风险管理。本文通过案例展示了使用Python库(如pandas、numpy、matplotlib等)进行数据获取、清洗、分析和建立预测模型,例如计算苹果公司(AAPL)股票的简单移动平均线,以展示基本流程。此示例为更复杂的金融建模奠定了基础。【6月更文挑战第13天】
1461 3
|
6月前
|
数据采集 数据可视化 数据挖掘
利用 DataFrame 进行数据分析:实战案例解析
【5月更文挑战第19天】DataFrame是数据分析利器,本文通过一个销售数据案例展示其使用:读取数据创建DataFrame,计算产品总销量,分析月销售趋势,找出最畅销产品,并进行数据可视化。此外,还提及数据清洗和异常处理。DataFrame为数据处理、分组计算和可视化提供便利,助力高效数据分析。
131 3
|
6月前
|
数据可视化 前端开发 数据挖掘
数据分析可视化神器---streamlit框架,各种图表绘制,布局以及生产综合案例剖析
数据分析可视化神器---streamlit框架,各种图表绘制,布局以及生产综合案例剖析
762 0