Python数据分析:数据可视化案例

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)  #空值补零并转换为intdata['Success'] = data['Success'].apply(proc_success)  #给原始数据中的非数字值设置成指定数字data['Success'] = data['Success'].fillna(0).astype(int)  #空值补零并转换为intdata = 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()if __name__ == '__main__':run_main()

运行结果:



示例数据源:示例数据

Python数据分析:数据可视化案例相关推荐

  1. Python数据分析-数据可视化(二)

    欢迎大家访问个人博客:https://jmxgodlz.xyz 文章目录 前言 Matplotlib 折线图格式调整 标签 线条颜色 线条形状 折点样式 线条透明度 前言 看到有些论文插图十分简洁美观 ...

  2. Python数据分析-数据可视化

    文章目录 一. Matplotlib 基本概念 二. Matplotlib三层结构 三. Matplotlib 基本使用 1. 折线图 2. 绘制多条折线图 3. 绘制多个坐标系 -- plt.sub ...

  3. 【Python】-- 数据可视化案例(地图可视化)

    使用python语言.pyecharts实现地图可视化 pyecharts官网:https://pyecharts.org/#/ 画廊参考:https://gallery.pyecharts.org/ ...

  4. Python数据分析及可视化案例--2018成都市公共租赁住房家庭(个人)配租信息分析

    前言 数据来源于成都市公共数据开放平台. 数据集:http://www.cddata.gov.cn/odweb/catalog/catalogDetail.htm?cata_id=fRa2EWB1Ee ...

  5. python爬虫数据可视化_适用于Python入门者的爬虫和数据可视化案例

    本篇文章适用于Python小白的教程篇,如果有哪里不足欢迎指出来,希望对你帮助. 本篇文章用到的模块: requests,re,os,jieba,glob,json,lxml,pyecharts,he ...

  6. Python爬虫+数据分析+数据可视化(分析《雪中悍刀行》弹幕)

    Python爬虫+数据分析+数据可视化(分析<雪中悍刀行>弹幕) 哔哔一下 爬虫部分 代码部分 效果展示 数据可视化 代码展示 效果展示 视频讲解 福利环节 哔哔一下 雪中悍刀行兄弟们都看 ...

  7. python 图表美化_你的图表不美观怎么办,Python实现数据可视化帮你实现

    之前突然看到一个用Python实现数据可视化的技术,小编觉得解决了生活中的好多问题,大家一起来看看这个神器.1.主页 首先,这个主页的设计就是我非常喜欢的风格,简单清晰,第一眼就让人有特别清爽的感觉, ...

  8. 【教程】Python科研数据可视化、MATLAB科研数据可视化

    在过去的20年中,随着社会产生数据的大量增加,对数据的理解.解释与决策的需求也随之增加.而固定不变是人类本身,所以我们的大脑必须学会理解这些日益增加的数据信息.所谓"一图胜千言", ...

  9. python数据分析可视化实例-Python数据分析与可视化从入门到精通

    (1)没有高深理论,每章都以实例为主,读者参考书中源码运行,就能得到与书中一样的结果.(2)专注于Python数据分析与可视化操作中实际用到的技术.相比大而全的书籍资料,本书能让读者尽快上手,开始项目 ...

  10. python可视化数据分析-Python数据分析与可视化从入门到精通

    (1)没有高深理论,每章都以实例为主,读者参考书中源码运行,就能得到与书中一样的结果.(2)专注于Python数据分析与可视化操作中实际用到的技术.相比大而全的书籍资料,本书能让读者尽快上手,开始项目 ...

最新文章

  1. 《LeetCode力扣练习》剑指 Offer 10- II. 青蛙跳台阶问题 Java
  2. linux命令头部,Linux命令学习手册-objcopy命令
  3. wxWidgets:wxPen类用法
  4. WebKit 与 V8 的关系
  5. javascript forEach无法break,使用every代替
  6. ionic tab显示到顶部去了
  7. 记录水电开发的心理【2】
  8. Java中导入Excel文件
  9. 实现mvcc_数据库中的引擎、事务、锁、MVCC(三)
  10. A311D项目开发总结
  11. WiFi钥匙管家-免费上网神器
  12. 面试官常问 webpack 面试题
  13. asp空间和php空间_两个最新空间及回顾100Mphp及数个asp免费空间放
  14. docker镜像完全卸载
  15. 嗅探技术---网络安全入门笔记DAY5
  16. 现代软件工程讲义 7 分析和设计方法
  17. 图表示学习之时序的事件和节点动态
  18. ubuntu下安装git安装及使用
  19. ncre报名系统服务器不可用,新版NCRE考试系统问题及解决方法.doc
  20. matlab实现手绘风格(简笔画风格、漫画风格)的曲线绘图

热门文章

  1. 集成运算放大器之微分电路搭建
  2. 编程常用资料/网站收集
  3. 【C语言】使用Qt5学习C语言编写Hello World
  4. Archlinux电源管理
  5. JavaScript 设计模式之模板方法模式
  6. Windows Server 2008 R2 官方原版下载大全
  7. Windows Server 2008安装nodejs
  8. Metasploit之——基本后渗透命令
  9. HP5100常见错误代码
  10. Java程序员常用的快捷键有哪些?