可视化--世界高峰数据统计和可视化

本文是对一个登山的数据进行简单的可视化操作,数据在最下方网盘

如图为数据形式

1.获得数据

import pandas as pd
import matplotlib.pyplot as plt
from matplotlib import style

style.use('ggplot')     # 设置图片显示的主题样式

# 解决matplotlib显示中文问题
plt.rcParams['font.sans-serif'] = ['SimHei']  # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题

dataset_path = './dataset/Mountains.csv'

2.数据清洗与数据统计展示

dataframe.info()可以很快的了解数据结构

def preview_data(data):
    """
        数据预览
    """
    # 数据预览
    print(data.head())

    # 数据信息
    print(data.info())

3.奇异值数据清洗

def proc_success(val):
    """
        处理 'Ascents bef. 2004' 列中的数据
    """
    if '>' in str(val):
        return 200
    elif 'Many' in str(val):
        return 160
    else:
        return val
def run_main():
    """
        主函数
    """
    data = pd.read_csv(dataset_path)

    preview_data(data)

    # 数据重构
    # 重命名列名
    data.rename(columns={'Height (m)': 'Height', 'Ascents bef. 2004': 'Success',
                         'Failed attempts bef. 2004': 'Failed'}, inplace=True)

    # 数据清洗
    data['Failed'] = data['Failed'].fillna(0).astype(int)  # astype 转换数据格式
    data['Success'] = data['Success'].apply(proc_success)  # apple 调用外部函数
    data['Success'] = data['Success'].fillna(0).astype(int)
    data = data[data['First ascent'] != 'unclimbed']       # 奇异数据处理
    data['First ascent'] = data['First ascent'].astype(int)

    # 可视化数据
    # 1. 登顶次数 vs 年份
    ##     看一下哪一年爬山登顶的人多,数据可视化显示,割三四十年,就会有一次登顶高峰,也就是  爬山的人变多,但是总体来说爬山人数是越来越少的,原因我就不说了哈哈
    plt.hist(data['First ascent'].astype(int), bins=20)
    plt.ylabel('高峰数量')
    plt.xlabel('年份')
    plt.title('登顶次数')
    plt.savefig('./first_ascent_vs_year.png')
    plt.show()

    # 2. 高峰vs海拔
    data['Height'].plot.hist(color='steelblue', bins=20)
    plt.bar(data['Height'],
            (data['Height'] - data['Height'].min()) / (data['Height'].max() - data['Height'].min()) * 23,   # 按比例缩放
            color='red',
            width=30, alpha=0.2)
    plt.ylabel('高峰数量')
    plt.xlabel('海拔')
    plt.text(8750, 20, "海拔", color='red')
    plt.title('高峰vs海拔')
    plt.savefig('./mountain_vs_height.png')
    plt.show()

    # 3. 首次登顶
    data['Attempts'] = data['Failed'] + data['Success']  # 攀登尝试次数
    fig = plt.figure(figsize=(13, 7))
    fig.add_subplot(211)
    plt.scatter(data['First ascent'], data['Height'], c=data['Attempts'], alpha=0.8, s=50)
    plt.ylabel('海拔')
    plt.xlabel('登顶')

    fig.add_subplot(212)
    plt.scatter(data['First ascent'], data['Rank'].max() - data['Rank'], c='blue', alpha=0.8, s=50)
    plt.ylabel('排名')
    plt.xlabel('登顶')
    plt.savefig('./mountain_vs_attempts.png')
    plt.show()


if __name__ == '__main__':
    run_main()

链接:https://pan.baidu.com/s/16aWFMvKdLAV9sVZM-qziHA 

提取码:61uh


 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Uber纽约市乘车数据可视化分析与设计是一项重要的任务,它可以帮助我们更好地理解乘客和司机的行为模式以及整个交通网络的运行情况。以下是针对该主题的300字中文回答: 在Uber纽约市乘车数据可视化分析与设计方面,首先需要收集和整理大量的数据。这些数据包括乘客和司机的行程起止地点、乘车时间、乘车距离、费用等信息。然后,利用数据分析工具,对这些数据进行统计和分析,以提取有用的信息。 一种常见的可视化分析方式是通过地图展示乘车数据的分布情况。可以利用纽约市的地图底图,将乘车起止地点标记在地图上,采用不同的颜色、形状或大小来表示乘车次数或乘车密度。这样一来,我们可以直观地看到乘车热点和流量分布的情况,从而帮助我们优化乘车服务的分配和调度。 除了地图展示,还可以通过折线图或柱状图展示乘车数据的时间变化趋势。可以按照小时、日期、星期几等时间维度,统计乘车次数或乘车费用的变化情况。这样可以发现乘车高峰和低谷的时段,为乘车服务的优化提供数据支持。 另外,还可以对乘车数据进行空间分析,比如利用热力图展示不同地区的乘车活跃度,或者利用流向图展示不同地区之间的乘车流量。这些空间分析可以帮助我们发现交通拥堵的瓶颈区域,或者调整司机派单策略,提高乘车效率。 总之,Uber纽约市乘车数据可视化分析与设计是一项复杂而有益的工作。通过合理运用可视化工具和技术,可以帮助我们更好地理解和优化乘车服务,提高城市的出行效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值