世界高峰数据可视化 (World's Highest Mountains)

参考:https://www.kaggle.com/alex64/d/abcsds/highest-mountains/let-s-climb


import pandas as pd
import matplotlib.pyplot as plt
from matplotlib import stylestyle.use('ggplot')     # 设置图片显示的主题样式# 解决matplotlib显示中文问题
plt.rcParams['font.sans-serif'] = ['SimHei']  # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题dataset_path = './dataset/Mountains.csv'def preview_data(data):"""数据预览"""# 数据预览print(data.head())# 数据信息print(data.info())def proc_success(val):"""处理 'Ascents bef. 2004' 列中的数据"""if '>' in str(val):return 200elif 'Many' in str(val):return 160else:return valdef 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)data['Success'] = data['Success'].apply(proc_success)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=data['Attempts'], alpha=0.8, s=50)plt.ylabel('排名')plt.xlabel('登顶')plt.savefig('./mountain_vs_attempts.png')plt.show()# 课后练习,尝试使用seaborn或者bokeh重现上述显示的结果if __name__ == '__main__':run_main()

Python学习笔记——数据分析之数据可视化工具实战案例:世界高峰数据可视化相关推荐

  1. 【Python学习笔记—保姆版】第四章—关于Pandas、数据准备、数据处理、数据分析、数据可视化

    第四章 欢迎访问我搞事情的[知乎账号]:Coffee 以及我的[B站漫威剪辑账号]:VideosMan 若我的笔记对你有帮助,请用小小的手指,点一个大大的赞哦. #编译器使用的是sypder,其中&q ...

  2. Python学习笔记——数据分析之工作环境准备及数据分析建模理论基础

    目录 <Linkedln:2016年中国互联网最热职位人才库报告> Python3.x 常用的新特性 字符串编码格式回顾: DIKW 体系 数据建模基础 <Linkedln:2016 ...

  3. Python学习笔记-数据分析-Pandas02-Dataframe

    Dataframe其实是一个表格型的数据结构,包含一组有序的列,可以理解为一个二维数组. Dataframe中的数据以一个或多个二维数组块进行存放的,与列表.字典或一维数组的结构不同.其值类型可以是数 ...

  4. python学习笔记(二)---编辑工具sublimeText3运行python

    转载地址:https://blog.csdn.net/Maek_Tyx/article/details/76933897 1. 打开Sublime text 3 安装package control S ...

  5. Python学习笔记:使用PIL批量合成jpg+png图片,用于水印、合并图片,生成YOLO数据集+标注数据等等

    [Python学习笔记] 使用PIL,批量合成jpg+png图片,用于水印.合并图片,生成YOLO数据集+标注数据等等 起因:在了解很多关于YOLOv5的相关内容,于是尝试着去训练自己的游戏目标检测模 ...

  6. Python学习笔记_1_基础_2:数据运算、bytes数据类型、.pyc文件(什么鬼)

    Python学习笔记_1_基础_2:数据运算.bytes数据类型..pyc文件(什么鬼) 一.数据运算 Python数据运算感觉和C++,Java没有太大的差异,百度一大堆,这里就不想写了.比较有意思 ...

  7. Python学习笔记:用Python获取数据(本地数据与网络数据)

    Python学习笔记:用Python获取数据(本地数据与网络数据) 一.用Python获取本地数据 读写文件(三种基本模式:r, w, a) 1.写文件 2.读文件

  8. Python学习笔记---merge和concat数据合并(1)

    Python学习笔记-merge和concat数据合并(1) Python学习笔记-merge和concat数据合并(2) 文章目录 Python学习笔记---merge和concat数据合并(1) ...

  9. 【Python学习笔记】b站@同济子豪兄 用pytorch搭建全连接神经网络,对Fashion-MNIST数据集中的时尚物品进行分类

    [Python学习笔记]原作b站@同济子豪兄 用pytorch搭建全连接神经网络,对Fashion-MNIST数据集中的时尚物品进行分类 跟着b站@同济子豪兄的视频自学写的代码,内容是用pytorch ...

最新文章

  1. 如何在Windows上设置BitLocker加密
  2. Gitter - 高颜值GitHub小程序客户端诞生记
  3. python服务端编程_Python实现的简单文件传输服务器和客户端
  4. 引擎设计跟踪(九.2) 3DS MAX 导出插件 继续
  5. Java之HashMap用法
  6. 润乾报表统计图联动刷新
  7. 无线渗透----扫描附近WiFi(windows系统)
  8. 金融货币学笔记(米什金)第一章 为什么研究货币、银行与金融市场
  9. map文件介绍及使用
  10. RocketMQ 内存优化
  11. 【数据分析 R语言实战】学习笔记 第六章 参数估计与R实现(上)
  12. flutter 图片加载
  13. [转帖]全球软件市场格局变化
  14. 数据库建模三步骤:概念模型-逻辑模型-物理模型
  15. 互联网公司招聘奇葩黑历史
  16. ENVI软件使用与样本采集
  17. MT4 api跟单软件分享
  18. 第7课:Scratchjr声音指令
  19. 居里夫人为爱因斯坦写的推荐信(zz)
  20. 联想小新310安装Windows11

热门文章

  1. Logstash:Grok filter 入门
  2. 献给杭电五十周年校庆的礼物+递推
  3. 机器学习数学笔记|大数定理中心极限定理矩估计
  4. CTF 刷题记录(一) 白云新闻搜索(手动与自动化SQL注入)
  5. sd卡座封装尺寸_SD卡座结构图及使用注意说明
  6. ODN 2395丨艾美捷CpG ODN系列参数介绍
  7. 「利器x播客」访谈 006:播客不应该是把自己聊爽了放在第一位么?
  8. 小白都能学会的Python基础 第二讲:Python基础知识
  9. 22年春福师《大学英语(1)》在线作业一-1
  10. 21 函数的凸性与拐点