python每日可视化分析:从过去到现代数据分析的演进

简介: python每日可视化分析:从过去到现代数据分析的演进

 作者介绍:10年大厂数据\经营分析经验,现任大厂数据部门负责人。

会一些的技术:数据分析、算法、SQL、大数据相关、python

欢迎加入社区:码上找工作

作者专栏每日更新:

LeetCode解锁1000题: 打怪升级之旅

python数据分析可视化:企业实战案例

备注说明:方便大家阅读,统一使用python,带必要注释,公众号 数据分析螺丝钉 一起打怪升级

分析目标

本文旨在探索数据分析发展历程中的关键时刻,包括重要人物的贡献和大事件的发生。通过对比不同年代的数据分析技术和方法,我们可以更好地理解数据分析如何成为今天决策制定不可或缺的一部分。

分析步骤
  1. 收集数据:搜集关于数据分析历史上重要人物和事件的信息。
  2. 数据与可视化:创建一组数据,展示不同年份全球数据量的增长,并通过可视化技术加入人物和大事件的标记。
  3. 分析改进前后的差异:对比分析人物贡献和大事件发生前后数据分析技术的变化。
数据与可视化

我们创建了一组数据,显示从1662年至2010年全球数据量的增长。重要的里程碑包括John Graunt的统计分析开始,Alan Turing的图灵机概念,Tim Berners-Lee的万维网发明,以及Hadley Wickham在数据分析工具方面的现代化努力。

通过Matplotlib库,我们将这些数据和事件以及相关人物的贡献呈现在一个时间线图上。这不仅展示了数据量的增长,也突出了数据分析历史上的重要时刻和人物。

改进前

这是每个人物对应的时间和主要的贡献,我们通过文字的方式进行描述,对于每个时间点、数据量、整体的变化感知不是很清晰,没有太多的体感,数据量较小也不知道具体是多少,对数据分析来说不是很友好的呈现方式

  1. John Graunt (1662): 被认为是统计学的创始人之一。此时期数据量非常小,主要依靠手工记录。
  • 数据量: 微乎其微
  • 大事件: 开始使用统计方法分析人口数据。
  1. Carl Friedrich Gauss (1801): 对统计理论做出了重要贡献,包括最小二乘法。
  • 数据量: 较小
  • 大事件: 统计学和概率理论的发展。
  1. Ronald A. Fisher (1912): 现代统计学的重要人物,提出方差分析等概念。
  • 数据量: 逐渐增长
  • 大事件: 统计学在科学研究中的应用扩展。
  1. Alan Turing (1936): 计算机科学的先驱,提出图灵机模型。
  • 数据量: 逐渐增长
  • 大事件: 计算机科学的诞生,数据处理能力得到提升。
  1. Tim Berners-Lee (1989): 万维网的发明者,极大地促进了数据的生成和共享。
  • 数据量: 显著增长
  • 大事件: 互联网时代的开始,数据量开始爆炸性增长。
  1. Jim Gray (2003): 数据库技术的先驱,对大数据处理做出了贡献。
  • 数据量: 巨大
  • 大事件: 数据库和大数据技术的发展。
  1. Geoffrey Hinton (2006): 深度学习和神经网络的领军人物。
  • 数据量: 极大
  • 大事件: 深度学习技术的突破,开启了AI时代。
  1. Hadley Wickham (2010): R语言的重要贡献者,简化了数据分析过程。
  • 数据量: 巨量
  • 大事件: 数据科学和统计计算的现代工具和方法的发展。
第一次改进

我们通过一个表格来展示数据分析领域的关键人物,数据量级和大事件,对同类项进行划分,能比较清晰的看出不同字段对应的事件和人物,数据量的情况等。但是对于数据分析来说我们需要对可视化有更高的要求

第二次改进

我们通过一个折线图把关键信息都描述在一个图里,不仅呈现了数据量的增长,还描绘了数据分析领域发展的脉络,包括人物直观的图像。这为我们提供了一个全面的视角,展现了数据分析是如何逐步成为现代社会的重要组成部分,包括哪些重点事件和人物的推动下演进。这里均通过python代码实现。

分析结论

从John Graunt的早期统计学应用,到Hadley Wickham对现代数据科学工具的贡献,数据分析领域经历了巨大的变革。随着全球数据量的爆炸式增长,数据分析的重要性也随之增加。历史上的人物和大事件不仅塑造了数据分析的方法和技术,也影响了我们如何理解和利用数据。未来,随着技术的不断进步,数据分析将继续发挥其在解决复杂问题和推动社会进步中的关键作用。

这篇文章通过对过去和现在的对比,展现了数据分析的发展历程和关键人物的重要性,为理解其对未来的潜在影响提供了不同的视角。

python代码(包括对人物图像的插入)

需要插入的人物头像欢迎关注 公众号 数据分析螺丝钉 回复关键词 python可视化 领取

import matplotlib.pyplot as plt
from matplotlib.offsetbox import OffsetImage, AnnotationBbox
import numpy as np
# Define the data for the timeline
years = [1662, 1801, 1912, 1936, 1989, 2003,  2010]
data_volumes = [0.0001, 0.0001, 0.0001, 0.0002, 0.01, 1, 2]  # in Zettabytes
persons = ["John Graunt", "Carl Friedrich Gauss", "Ronald A. Fisher", "Alan Turing", 
           "Tim Berners-Lee", "Jim Gray", "Hadley Wickham"]
milestones = [
    "John Graunt \n Beginning of statistical analysis", 
    "Carl Friedrich Gauss \n Development of the least squares method", 
    "Ronald A. Fisher \n Introduction of variance analysis", 
    "Alan Turing \n Conceptualization of the Turing Machine", 
    "Tim Berners-Lee \n Invention of the World Wide Web", 
    "Jim Gray \n Advances in database technology", 
    "Hadley Wickham \n Modernization of data analysis tools"
]
# Custom offsets for each image in the format (x_offset, y_offset)
offsets = {
    "John Graunt": (1680,0.0005),
    "Carl Friedrich Gauss": (1820, 0.0005),
    "Ronald A. Fisher": (1920, 0.0005),
    "Alan Turing": (1950, 0.001),
    "Tim Berners-Lee": (1980, 0.05),
    "Jim Gray": (2000, 10),
    "Hadley Wickham": (2020, 10),
    # Add more offsets for other people if needed
}
# Set up the figure and axis
fig, ax = plt.subplots(figsize=(15, 8))
# Plot the data volume over time
ax.plot(years, data_volumes, '-o', color='blue')
# Set the y-scale to logarithmic to accommodate the wide range of data volumes
ax.set_yscale('log')
ax.set_xlabel('Year')
ax.set_ylabel('Global Data Volume (Zettabytes)')
ax.set_title('Global Data Volume and Major Contributors')
# Insert images and labels for each person at their respective year with the correct data volume
base_image_path = '/xx/datapeople/'  # Replace with your own path
# Function to add an image
def add_image(ax, base_image_path, coord, person_name):
    # Read the image
    img = plt.imread(image_path)
    # Get custom offset for the person
    offset_x, offset_y = offsets.get(person_name, (0, 0))
    # Create imagebox
    imagebox = OffsetImage(img, zoom=0.15)
    ab = AnnotationBbox(imagebox, coord, frameon=False, boxcoords="data",
                        xybox=(offset_x, offset_y), box_alignment=(1, 1))
    ax.add_artist(ab)
# Insert images and labels for each person
for i, year in enumerate(years):
    coord = (year, data_volumes[i])
    person_name = persons[i]
    image_path = f'{base_image_path}{person_name}.jpeg'  # Image names match the person's name
    add_image(ax, image_path, coord, person_name)
    # Add milestone annotations below each image
    ax.annotate(milestones[i], xy=coord, xytext=(0, -100), textcoords='offset points',
                ha='center', va='top', fontsize=9, arrowprops=dict(arrowstyle="->", color='black'))
plt.show()


相关实践学习
DataV Board用户界面概览
本实验带领用户熟悉DataV Board这款可视化产品的用户界面
阿里云实时数仓实战 - 项目介绍及架构设计
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3 )前置知识要求   课程大纲 第一章 了解数据仓库概念 初步了解数据仓库是干什么的 第二章 按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章 数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章 采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章 用户行为数据仓库 严格按照企业的标准开发 第六章 搭建业务数仓理论基础和对表的分类同步 第七章 业务数仓的搭建  业务行为数仓效果图  
相关文章
|
1月前
|
数据可视化 关系型数据库 MySQL
【MCP教程系列】上阿里云百炼,5分钟解锁数据分析与可视化能力
本文介绍如何在阿里云百炼平台通过自定义MCP部署MySQL服务,实现5分钟解锁数据分析与可视化能力。以碳排放数据库为例,详细讲解从创建公网访问的MySQL数据库、配置MCP服务到引入智能体进行数据分析的全流程。借助QuickChart等工具,可将复杂数据转化为直观图表,赋能业务决策。适合希望快速上手数据库分析的用户参考使用。
【MCP教程系列】上阿里云百炼,5分钟解锁数据分析与可视化能力
|
17天前
|
数据采集 人工智能 算法
“脏数据不清,分析徒劳”——聊聊数据分析里最容易被忽视的苦差事
“脏数据不清,分析徒劳”——聊聊数据分析里最容易被忽视的苦差事
93 34
|
5月前
|
缓存 Rust 算法
从混沌到秩序:Python的依赖管理工具分析
Python 的依赖管理工具一直没有标准化,主要原因包括历史发展的随意性、社区的分散性、多样化的使用场景、向后兼容性的挑战、缺乏统一治理以及生态系统的快速变化。依赖管理工具用于处理项目中的依赖关系,确保不同环境下的依赖项一致性,避免软件故障和兼容性问题。常用的 Python 依赖管理工具如 pip、venv、pip-tools、Pipenv、Poetry 等各有优缺点,选择时需根据项目需求权衡。新工具如 uv 和 Pixi 在性能和功能上有所改进,值得考虑。
159 35
|
19天前
|
网络协议 API 开发者
分析http.client与requests在Python中的性能差异并优化。
合理地选择 `http.client`和 `requests`库以及在此基础上优化代码,可以帮助你的Python网络编程更加顺利,无论是在性能还是在易用性上。我们通常推荐使用 `requests`库,因为它的易用性。对于需要大量详细控制的任务,或者对性能有严格要求的情况,可以考虑使用 `http.client`库。同时,不断优化并管理员连接、设定合理超时和重试都是提高网络访问效率和稳定性的好方式。
63 19
|
17天前
|
XML JSON 安全
分析参数顺序对Python requests库进行POST请求的影响。
最后,尽管理论上参数顺序对POST请求没影响,但编写代码时仍然建议遵循一定的顺序和规范,比如URL总是放在第一位,随后是data或json,最后是headers,这样可以提高代码的可读性和维护性。在处理复杂的请求时,一致的参数顺序有助于调试和团队协作。
77 9
|
23天前
|
机器学习/深度学习 数据采集 数据可视化
Python数据分析,别再死磕Excel了!
Python数据分析,别再死磕Excel了!
67 2
|
5月前
|
数据采集 数据可视化 数据挖掘
金融波动率的多模型建模研究:GARCH族与HAR模型的Python实现与对比分析
本文探讨了金融资产波动率建模中的三种主流方法:GARCH、GJR-GARCH和HAR模型,基于SPY的实际交易数据进行实证分析。GARCH模型捕捉波动率聚类特征,GJR-GARCH引入杠杆效应,HAR整合多时间尺度波动率信息。通过Python实现模型估计与性能比较,展示了各模型在风险管理、衍生品定价等领域的应用优势。
672 66
金融波动率的多模型建模研究:GARCH族与HAR模型的Python实现与对比分析
|
2月前
|
数据采集 数据可视化 数据挖掘
基于Python的App流量大数据分析与可视化方案
基于Python的App流量大数据分析与可视化方案
|
3月前
|
数据可视化 前端开发 数据挖掘
使用Folium在Python中进行地图可视化:全面指南
Folium是基于Python的交互式地图可视化库,依托Leaflet.js实现地理空间数据展示。本文从安装、基础使用到高级功能全面解析Folium:包括创建地图、添加标记、保存文件,以及绘制热力图、多边形和Choropleth地图等高级操作。通过展示北京市景点与全球地震数据的实际案例,结合性能优化、自定义样式和交互性增强技巧,帮助用户掌握Folium的核心功能与应用潜力,为数据分析提供直观支持。
179 2
|
5月前
|
并行计算 安全 Java
Python GIL(全局解释器锁)机制对多线程性能影响的深度分析
在Python开发中,GIL(全局解释器锁)一直备受关注。本文基于CPython解释器,探讨GIL的技术本质及其对程序性能的影响。GIL确保同一时刻只有一个线程执行代码,以保护内存管理的安全性,但也限制了多线程并行计算的效率。文章分析了GIL的必要性、局限性,并介绍了多进程、异步编程等替代方案。尽管Python 3.13计划移除GIL,但该特性至少要到2028年才会默认禁用,因此理解GIL仍至关重要。
441 16
Python GIL(全局解释器锁)机制对多线程性能影响的深度分析

热门文章

最新文章

推荐镜像

更多