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

本文涉及的产品
数据可视化DataV,5个大屏 1个月
可视分析地图(DataV-Atlas),3 个项目,100M 存储空间
简介: 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()


相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
阿里云实时数仓实战 - 项目介绍及架构设计
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3 )前置知识要求   课程大纲 第一章 了解数据仓库概念 初步了解数据仓库是干什么的 第二章 按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章 数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章 采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章 用户行为数据仓库 严格按照企业的标准开发 第六章 搭建业务数仓理论基础和对表的分类同步 第七章 业务数仓的搭建  业务行为数仓效果图  
相关文章
|
5天前
|
算法 开发者 Python
惊呆了!Python算法设计与分析,分治法、贪心、动态规划...这些你都会了吗?不会?那还不快来学!
【7月更文挑战第10天】探索编程巅峰,算法至关重要。Python以其易读性成为学习算法的首选。分治法,如归并排序,将大问题拆解;贪心算法,如找零问题,每步求局部最优;动态规划,如斐波那契数列,利用子问题解。通过示例代码,理解并掌握这些算法,提升编程技能,面对挑战更加从容。动手实践,体验算法的神奇力量吧!
25 8
|
5天前
|
机器学习/深度学习 监控 算法
Python数据分析与机器学习在金融风控中的应用
Python数据分析与机器学习在金融风控中的应用
30 12
|
3天前
|
机器学习/深度学习 数据采集 数据挖掘
解锁 Python 数据分析新境界:Pandas 与 NumPy 高级技巧深度剖析
【7月更文挑战第12天】Python的Pandas和NumPy库助力高效数据处理。Pandas用于数据清洗,如填充缺失值和转换类型;NumPy则擅长数组运算,如元素级加法和矩阵乘法。结合两者,可做复杂数据分析和特征工程,如产品平均销售额计算及销售额标准化。Pandas的时间序列功能,如移动平均计算,进一步增强分析能力。掌握这两者高级技巧,能提升数据分析质量和效率。
15 4
|
4天前
|
算法 搜索推荐 编译器
算法高手养成记:Python快速排序的深度优化与实战案例分析
【7月更文挑战第11天】快速排序是编程基础,以O(n log n)时间复杂度和原址排序著称。其核心是“分而治之”,通过选择基准元素分割数组并递归排序两部分。优化包括:选择中位数作基准、尾递归优化、小数组用简单排序。以下是一个考虑优化的Python实现片段,展示了随机基准选择。通过实践和优化,能提升算法技能。**
8 3
|
3天前
|
机器学习/深度学习 存储 数据可视化
这份Excel+Python飞速搞定数据分析手册,简直可以让Excel飞起来
微软在 UserVoice 上运营着⼀个反馈论坛,每个⼈都可以在这⾥提交新点⼦供他⼈投票。票数最⾼的功能请求是“将 Python 作为Excel 的⼀门脚本语⾔”,其得票数差不多是第⼆名的两倍。尽管⾃2015 年这个点⼦发布以来并没有什么实质性进展,但在 2020 年年末,Python 之⽗ Guido van Rossum 发布推⽂称“退休太无聊了”,他将会加入微软。此事令 Excel ⽤户重燃希望。我不知道他的举动是否影响了 Excel 和 Python 的集成,但我清楚的是,为何⼈们迫切需要结合 Excel 和 Python 的⼒量,⽽你⼜应当如何从今天开始将两者结合起来。总之,这就是本
|
5天前
|
数据采集 机器学习/深度学习 数据挖掘
Python基于波动率模型(ARCH和GARCH)进行股票数据分析项目实战
Python基于波动率模型(ARCH和GARCH)进行股票数据分析项目实战
|
2天前
|
编解码 数据可视化 算法
空间单细胞|10x Visium数据分析、可视化与整合(2)
空间单细胞|10x Visium数据分析、可视化与整合(2)
8 0
|
4天前
|
机器学习/深度学习 数据采集 数据可视化
Python实现支持向量机SVM分类模型线性SVM决策过程的可视化项目实战
Python实现支持向量机SVM分类模型线性SVM决策过程的可视化项目实战
Python实现支持向量机SVM分类模型线性SVM决策过程的可视化项目实战
|
1天前
|
数据采集 数据挖掘 数据处理
Python数据分析加速器:深度挖掘Pandas与NumPy的高级功能
【7月更文挑战第14天】Python的Pandas和NumPy库是数据分析的核心工具。Pandas以其高效的数据处理能力,如分组操作和自定义函数应用,简化了数据清洗和转换。NumPy则以其多维数组和广播机制实现快速数值计算。两者协同工作,如在DataFrame与NumPy数组间转换进行预处理,提升了数据分析的效率和精度。掌握这两者的高级功能是提升数据科学技能的关键。**
7 0
|
1天前
|
存储 搜索推荐 算法
`surprise`是一个用于构建和分析推荐系统的Python库。
`surprise`是一个用于构建和分析推荐系统的Python库。
10 0