Python实战04:关于全国旅游景点数据的探索

📮 求内推

👩 个人简介:听障人,96年,计算机专业(本科),从事数据分析工作
🛠 语言与工具:包括但不限于Python、SQL、tableaubi、finebi、powerbi。
💻 期望岗位:数据分析、数据运营、报表开发等(hc偏技术方向)
📍 期望城市:杭州

背景描述

随着生活水平提升,旅游成为普遍的休闲方式,但面对众多景点,选择成为一大挑战。本项目通过清洗和分析全国旅游景点数据,聚焦游客偏好和景区价格,旨在借助可视化工具提供直观指导,帮助游客根据自身条件轻松选择理想目的地。

问题描述

01 全国景点分布  
02 国民出游分析   
03 景区价格分析  
...

数据来源

和鲸社区(搜旅游景点之类关键词)

数据处理及预览

import pandas as pd
import geopandas as gpd
import contextily as ctx
import matplotlib.pyplot as plt 
import numpy as np
import seaborn as sns
df = pd.read_excel(r'\旅游景点.xlsx',index_col=0)
print('-'*50)
print('数据集存在重复值个数:')
print(df.duplicated().sum())
print('-'*50)
print('数据集存在缺失值个数:')
print(df.isna().sum())
print('-'*50)
print('数据集信息:')
print(df.info())
print('-'*50)
print('数据集预览:')
display(df.head())

Grade、Price、Sales应该为数值型,但实际上为object类型,可能含有非数值型数据,因此我们需要先强制转换为数值型。

# 处理数据类型
# Grade、Price、Sales应该为数值型,但实际上为object类型,可能含有非数值型数据
# 强制将Grade列变为数值型,无法转换的值为NaN
df['Grade'] = pd.to_numeric(df['Grade'],errors='coerce') 
df['Price'] = pd.to_numeric(df['Price'],errors='coerce')
df['Sales'] = pd.to_numeric(df['Sales'],errors='coerce')
# 把Sales转换为int类型,要先把Nan填为0
df['Sales'].fillna(0,inplace=True)
df['Sales'] = df['Sales'].astype(int)

#检查下
print(df.info())
print('-'*50)
print('数据集描述统计:')
display(df.describe())

描述统计适用于数值型数据,因此才能打印Grade、Price、Sales的描述统计结果。

接下来,我们先假设下:当前采集的数据是全国热门景点的,因此所采集到的销量一定不为0。即门票免费也会产生销量,比如需要领取/兑换门票。

# 通过描述统计可知:
# 1.Grade有0-50%数据为0
# 2.Price最小值为0,可以检查下isFree为True时Price是否为0,再看看当Price为0时,isFree的唯一值是否只有True一个值(双重保险)
free_price = df.query('isFree == True').Price.sum() # 0 ,由此判断sFree为Ture时Price一定为0
price_free = df.que
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值