Python数据分析与可视化(1)——Python数据分析与可视化-程序员宅基地

技术标签: python  数据可视化  

1、大数据分析框架结构

在这里插入图片描述

2、数据、信息与数据分析

数据:是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。它是可识别的、抽象的符号。
数据是信息的表现形式和载体,可以是符号、文字、数字、语音、图像、视频等。
数据聚焦于数据的采集、清理、预处理、分析和挖掘,图形聚焦于解决对光学图像进行接收、提取信息、加工变换、模式识别及存储显示,可视化聚焦于解决将数据转换成图形,并进行交互处理。

信息:是数据的内涵,信息是加载于数据之上,对数据作具有含义的解释。
数据和信息是不可分离的,信息依赖数据来表达,数据则生动具体表达出信息。

数据是符号,是物理性的,信息是对数据进行加工处理之后得到、并对决策产生影响的数据,是逻辑性和观念性的;
数据是信息的表现形式,信息是数据有意义的表示。数据是信息的表达、载体,信息是数据的内涵,是形与质的关系。
数据本身没有意义,数据只有对实体行为产生影响时才成为信息。

数据分析:是指用适当的统计分析方法对收集来的大量数据进行分析,为提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。
从广义的角度来说,数据分析涵盖了数据分析和数据挖掘两个部分。
从狭义的角度来说,数据分析和数据挖掘存在不同之处。主要体现在两者的定义说明、侧重点、技能要求和最终的输出形式。

广义的数据分析包括狭义数据分析和数据挖掘。

狭义的数据分析是指根据分析目的,采用对比分析、分组分析、交叉分析和回归分析等分析方法,对收集来的数据进行处理与分析,提取有价值的信息,发挥数据的作用,得到一个特征统计量结果的过程。
数据挖掘则是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,通过应用聚类、分类、回归和关联规则等技术,挖掘潜在价值的过程。
在这里插入图片描述
数据分析与数据挖掘的区别:

差异角度 数据分析 数据挖掘
定义 描述和探索性分析,评估现状和修正不足 技术 技术性的“采矿”过程,发现未知的模式和规律
侧重点 技术性的“采矿”过程,发现未知的模式和规律 技术性的“采矿”过程,发现未知的模式和规律
技能 统计学、数据库、Excel、可视化等 过硬的数学功底和编程技术
结果 需结合业务知识解读统计结果 模型或规则

数据分析的流程:

1、需求分析:数据分析中的需求分析也是数据分析环节的第一步和最重要的步骤之一,决定了后续的分析的方向、方法。
数据获取:数据是数据分析工作的基础,是指根据需求分析的结果提取,收集数据。
2、数据预处理:数据预处理是指对数据进行数据合并,数据清洗,数据变换和数据标准化,数据变换后使得整体数据变为干净整齐,可以直接用于分析建模这一过程的总称。
3、分析与建模:分析与建模是指通过对比分析、分组分析、交叉分析、回归分析等分析方法和聚类、分类、关联规则、智能推荐等模型与算法发现数据中的有价值信息,并得出结论的过程。
4、模型评价与优化:模型评价是指对已经建立的一个或多个模型,根据其模型的类别,使用不同的指标评价其性能优劣的过程。
5、部署:部署是指将通过了正式应用数据分析结果与结论应用至实际生产系统的过程。

3、数据可视化

数据分析是一个探索性的过程,通常从特定的问题开始。它需要好奇心、寻找答案的欲望和很好的韧性,因为这些答案并不总是容易得到的。
数据可视化,即数据的可视化展示。有效的可视化可显著减少受众处理信息和获取有价值见解所需的时间。
数据分析和数据可视化这两个术语密不可分。在实际处理数据时,数据分析先于可视化输出,而可视化分析又是呈现有效分析结果的一种好方法。

数据可视化:是关于数据视觉表现形式的科学技术研究。其中,这种数据的视觉表现形式被定义为“一种以某种概要形式抽提出来的信息,包括相应信息单位的各种属性和变量”。
数据可视化主要是借助于图形化手段,清晰有效地传达与沟通信息。

数据可视化是指将大型数据集中的数据以图形图像形式表示,并利用数据分析和开发工具发现其中未知信息的处理过程。
数据可视化技术的基本思想是将数据库中每一个数据项作为单个图元素表示,大量的数据集构成数据图像,同时将数据的各个属性值以多维数据的形式表示,可以从不同的维度观察数据,从而对数据进行更深入的观察和分析。

数据可视化的方法1----面积&尺寸可视化:

在这里插入图片描述
数据可视化的方法2----颜色可视化
在这里插入图片描述
数据可视化的方法3----图形可视化
在这里插入图片描述数据可视化的方法4----概念可视化
在这里插入图片描述可视化典型案例:
1、全球黑客活动
安全供应商Norse打造了一张能够反映全球范围内黑客攻击频率的地图(http://map.ipviking.com),它利用Norse 的“蜜罐”攻击陷阱显示出所有实时渗透攻击活动。如下图所示,地图中的每一条线代表的都是一次攻击活动,借此可以了解每一天、每一分钟甚至每一秒世界上发生了多少次恶意渗透。
在这里插入图片描述2、互联网地图:
为了探究互联网这个庞大的宇宙,俄罗斯工程师 Ruslan Enikeev 根据 2011 年底的数据,将全球 196 个国家的 35 万个网站数据整合起来,并根据 200 多万个网站链接将这些“星球”通过关系链联系起来,每一个“星球”的大小根据其网站流量来决定,而“星球”之间的距离远近则根据链接出现的频率、强度和用户跳转时创建的链接来确定,由此绘制得到了“互联网地图”(http://internet-map.net)。
在这里插入图片描述

3、编程语言之间的影响力关系图
Ramio Gómez利用来自Freebase上的编程语言维护表里的数据,绘制了编程语言之间的影响力关系图,如下图所示,图中的每个节点代表一种编程语言,之间的连线代表该编程语言对其他语言有影响,有影响力的语言会连线多个语言,相应的节点也会越大。
在这里插入图片描述4、百度迁徙
2014年1月25日晚间,央视与百度合作,启用百度地图定位可视化大数据播报春节期间全国人口迁徙情况,引起广泛关注。
在这里插入图片描述

5、世界国家健康与财富之间的关系
“世界国家健康与财富之间的关系”利用可视化技术,把世界上200个国家,从1810年到2010年历时200年其各国国民的健康、财富变化数据(收集了1千多万个数据)制作成三维动画进行了直观展示(http://www.moojnn.com/Index/whn)。
在这里插入图片描述

6、3D可视化互联网地图APP
3D可视化是描绘和理解数据的一种手段,是数据的一种表征形式,并非模拟技术。3D可视化以一种独特的立体视角为用户呈现数据,可以帮助用户发现一些在2D模式下无法察觉的内容。Peer 1开发了一个称为“互联网地图”的APP,这是一个建立在小盒子形式上的3D地图。
在这里插入图片描述
7、数据可视化案例-滴滴的交通大数据
在这里插入图片描述

数据分析与可视化常用工具

1.Microsoft Excel
Excel是大家熟悉的电子表格软件,已被广泛使用了二十多年,如今甚至有很多数据只能以Excel表格的形式获取到。在Excel中,让某几列高亮显示、做几张图表都很简单,于是也很容易对数据有个大致了解。Excel的局限性在于它一次所能处理的数据量上,而且除非通晓VBA这个Excel内置的编程语言,否则针对不同数据集来重制一张图表会是一件很繁琐的事情。

2.R语言
R语言是由新西兰奥克兰大学Ross Ihaka和Robert Gentleman开发的用于统计分析、绘图的语言和操作环境,是属于GNU系统的一个自由、免费、源代码开放的软件,是一个用于统计计算和统计制图的优秀工具。
R语言的主要功能包括数据存储和处理系统、驻足运算工具(其向量、矩阵运算方面功能尤其强大)、完整连贯的统计分析工具、优秀的统计制图功能、简便而强大的编程语言以及可操纵数据的输入和输出等功能。

3.Python语言
Pyhton 是由荷兰人 Guido van Rossum 于 1989 年发明的,并在1991年首次公开发行。它是一款简单易学的编程类工具,同时,其编写的代码具有简洁性、易读性和易维护性等优点。Pyhton原本主要应用于系统维护和网页开发,但随着大数据时代的到来,以及数据挖掘、机器学习、人工智能等技术的发展,促使 Python进入数据科学的领域。
Python同样拥有各种五花八门的第三方模块,用户可以利用这些模块完成数据科学中的工作任务。

  1. SAS软件
    SAS是全球最大的软件公司之一,是由美国NORTH CAROLINA州立大学1966年开发的统计分析软件。SAS把数据存取、管理、分析和展现有机地融为一体,具有功能强大、统计方法齐、全、新并且操作简便灵活的特点。
  2. SPSS
    SPSS是世界上最早的统计分析软件。它封装了先进的统计学和数据挖掘技术来获得预测知识,并将相应的决策方案部署到现有的业务系统和业务过程中,从而提高企业的效益。IBM SPSS Modeler拥有直观的操作界面、自动化的数据准备和成熟的预测分析模型,结合商业技术可以快速建立预测性模型。

6.专用的可视化分析工具
除了数据分析与挖掘工具中包含的数据可视化功能模块之外,也有一些专用的可视化工具提供了更为强大便捷的可视化分析功能。目前常用的专业可视化分析工具有Power BI、Tableau、Gehpi和Echarts等。
在这里插入图片描述

为何选用Python

Python语言是一种解释型、面向对象、动态数据类型的高级程序设计语言
Python语言是数据分析师的首选数据分析语言,也是智能硬件的首选语言

在这里插入图片描述Python语言的特点(1):优点

  1. 简单易学
    Python是一种代表简单主义思想的语言,它有极简单的语法,极易上手。
    2.集解释性与编译性于一体
    Python语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序,但是需要解释器,它也具有编译执行的特性。
    3.面向对象编程
    Python 即支持面向过程的编程也支持面向对象的编程。与其他主要的语言如C++ 、Java相比,Python以一种非常强大又简单的方式实现面向对象编程。
    4.可扩展性和可嵌入性
    可以把部分程序用C或C++编写,然后在Python程序中使用它们,也可以把Python嵌入到C/C++ 程序中,提供脚本功能。
    5.程序的可移植性
    绝大多数的的Python程序不做任何改变即可在主流计算机平台上运行。
    6.免费、开源
    可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。

Python语言的特点(2):缺点
Python的唯一缺点是与C和C++相比执行的效率还不够快,因为Python没有将代码编译成底层的二进制代码;
但Python具有嵌入性的特征,对于大型程序,完全可以采用多语言混编策略,对于需要较快运行的模块,例如图像处理,则可以用C语言编程,对性能要求不是很高的地方则可以用Python编程,当需要他图像处理的时候Python程序把代码发送至Python解释器中内部已经编译的C代码,这样综合开发效率和性能综合起来是最高的。例如作为一个Python的数值计算扩展,NumPy将Python变为一个高效并简单易用的数值计算编程工具。

在这里插入图片描述

优点一:优雅、简单、明确
优点二:强大的标准库
优点三:良好的可扩展性
优点四:免费、开源

在这里插入图片描述

在这里插入图片描述
Python常用类库

  1. Numpy
    NumPy软件包是Python生态系统中数据分析、机器学习和科学计算的主力军。它极大地简化了向量和矩阵的操作处理。
    除了能对数值数据进行切片(slice)和切块(dice)外,使用NumPy还能为处理和调试上述库中的高级实例带来极大便利。
    一般被很多大型金融公司使用,以及核心的科学计算组织如Lawrence Livermore、NASA用其处理一些本来使用C++、Fortran或Matlab等所做的任务。

  2. SciPy
    SciPy(http://scipy.org)是基于NumPy开发的高级模块,依赖于NumPy,提供了许多数学算法和函数的实现,可便捷快速地解决科学计算中的一些标准问题,例如数值积分和微分方程求解、最优化、甚至包括信号处理等。
    作为标准科学计算程序库, SciPy它是Python科学计算程序的核心包,包含了科学计算中常见问题的各个功能模块,不同子模块适用于不同的应用。

  3. Pandas
    Pandas提供了大量快速便捷处理数据的函数和方法。它是使Python成为强大而高效的数据分析环境的重要因素之一。
    Pandas中主要的数据结构有Series、DataFrame和Panel。其中Series是一维数组,与NumPy中的一维array以及Python基本的数据结构List类似;DataFrame是二维的表格型数据结构,可以将DataFrame理解为Series的容器; Panel是三维的数组,可看作为DataFrame的容器。

  4. Matplotlib
    Matplotlib是Python 的绘图库,是用于生成出版质量级别图形的桌面绘图包,让用户很轻松地将数据图形化,同时还提供多样化的输出格式。

  5. Seaborn
    Seaborn在Matplotlib基础上提供了一个绘制统计图形的高级接口,为数据的可视化分析工作提供了极大的方便,使得绘图更加容易。
    用Matplotlib最大的困难是其默认的各种参数,而Seaborn则完全避免了这一问题。一般来说,Seaborn能满足数据分析90%的绘图需求。

  6. Scikit-learn
    Scikit-learn是专门面向机器学习的Python开源框架,它实现了各种成熟的算法,容易安装和使用。
    Scikit-learn的基本功能有分类、回归、聚类、数据降维、模型选择和数据预处理六大部分。

数据科学计算平台—Anaconda

Anaconda是一个集成的Python数据科学环境,简单的说,Anaconda除了有Python外,还安装了180多个用于数据分析的第三方库,而且可以使用conda命令安装第三方库和创建多个环境。相对于只安装Python而言,避免了安装第三方库的麻烦。
网站:
https://mirror.tuna.tsinghua.edu.cn/help/anaconda/

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_45771939/article/details/121464395

智能推荐

mysql导入数据表大小写_解决mysql导入新数据库大小写问题(Table 'zup.Domain_System' doesn't exist)...-程序员宅基地

文章浏览阅读431次。问题Table ‘zup.Domain_System’ doesn’t exist### The error occurred while setting parameters### SQL: SELECT * FROM Domain_System WHERE domain = ? LIMIT 1### Cause: com.mysql.jdbc.exceptions.jdbc4...._mysql 导入表 大写

ffmpeg实现摄像头拉流_ffmpeg推流拉流的几种方式-程序员宅基地

文章浏览阅读3.8k次。ffmpeg在以前介绍过,是一个相当强大的工具,我们这次利用它实现rtmp推流(最终推流地址统一为rtmp://127.0.0.1:1935/live/123)。1、首先下载ffmpeg和ffplayffmpeg在以前介绍过,是一个相当强大的工具,我们这次利用它实现rtmp推流(最终推流地址统一为rtmp://127.0.0.1:1935/live/123)。1、首先下载ffmpeg和ffplay..._ffmpeg拉流

7-2 括号匹配问题_r7-2 括号匹配-程序员宅基地

文章浏览阅读4.2k次,点赞4次,收藏17次。给定一串字符,不超过100个字符,可能包括括号、数字、字母、标点符号、空格,编程检查这一串字符中的( ) ,[ ],{ }是否匹配。输入格式:输入在一行中给出一行字符串,不超过100个字符,可能包括括号、数字、字母、标点符号、空格。输出格式:如果括号配对,输出yes,否则输出no。输入样例1:sin(10+20)输出样例1:yes输入样例2:{[}]输出样例2:no题解:首先我们要读懂题干,这个题是要匹配括号,我们知道 :1. ( ) 是匹配的,{ }和[ ]同理2. ( }_r7-2 括号匹配

java generic new_Java-Java泛型(Generic)-程序员宅基地

文章浏览阅读65次。泛型本质是参数化类型,即数据类型是一个参数。可用在类/接口/方法中,分别称为泛型类/泛型接口/泛型方法,用于数据类型不确定的情况下!一.定义泛型1.泛型类(作用范围是整个类)class Gen {private T object;public Gen(T object) {this.object = object;}public T getObject() {return object;}}pub..._generic中的new方法

LaTex 二元运算与关系符号、大型运算符、数学符号、特殊字符、希腊字母、各种括号和矩阵的编码(持续更新中)_latex大型运算符-程序员宅基地

文章浏览阅读1.1w次,点赞18次,收藏58次。数学符号求和∑i=0n\sum_{i=0}^n∑i=0n​ 、连乘 ∏i=0n\prod_{i=0}^n∏i=0n​、积分∫ab\int_{a}^{b}∫ab​、二重积分∬\iint∬ sum_{i=0}n,\prod_{i=0}n,\int_{a}^{b},\iint .乘×\times× 、除÷\div÷、分数12\frac{1}{2}21​、开方ab\sqrt[b]{a}ba..._latex大型运算符

大学计算机实验报告u盘启动安装,用U盘安装Win7操作系统实验报告-程序员宅基地

文章浏览阅读841次。《用U盘安装Win7操作系统实验报告》由会员分享,可在线阅读,更多相关《用U盘安装Win7操作系统实验报告(3页珍藏版)》请在人人文库网上搜索。1、实验序号成绩(满分10分)实验名称用U盘安装Win7操作系统实验日期实验地点学生姓名院系班级一、实验目的1、学会制作Win7PE启动U盘。2、学会设置电脑BIOS启动项。3、掌握U盘安装Win7操作步骤。二、实验任务1、制作一个可以支持U盘启动的 Wi..._启动u盘重装系统实验报告

随便推点

vxetable显示html,vxe-table 使用示例(常见报错)-程序员宅基地

文章浏览阅读2.2k次。1. 引用顺序错误导致依赖报错该问题 [email protected] 以下版本不受影响,由于 [email protected]+ 以上版本支持最小化打包的方式所以依赖库 xe-utils 必须要在 vxe-table 之前引用,否则就会报以下错误安装指南require: Vue 2.6+require: xe-utils 2.2+src/plugins/utils.jsimport'xe-utils'src..._* xe-utils/methods/xe-utils in ./node_modules/plxy-grid/lib/vxe-table.js, ./

Python 语言创建 HyerMesh Tcl 命令流_hypermesh 命令流-程序员宅基地

文章浏览阅读4.8k次,点赞14次,收藏72次。目 录Blog Links一、前言二、Tcl 命令2.1 帮助文档2.2 命令窗口2.3 运行脚本2.4 基本语法三、模型组件四、几何模型4.1 几何点/Point4.2 几何线/Line4.2.1 创建直线4.2.2 创建圆及圆弧4.2.3 创建样条曲线4.3 几何面/Surface4.4 几何体/Solid五、坐标系/向量5.1 坐标系5.2 向量六、有限元模型6.1 结点6.2 创建1D网格6.2 创建2D网格6.3 创建3D网格七、编辑7.1 删除7.2 阵列7.3 集合八、文件8.1 保存8.2 _hypermesh 命令流

linux如何转化u盘格式的文件格式,uefi启动u盘安装linux怎么将u盘转换格式-程序员宅基地

文章浏览阅读237次。win7删除管理员账户操作方法:1、首先鼠标右键单击计算机,选择管理;如图所u盘装win10系统可以吗示:2、选择系统工具,雨林木风win764位笔记本系统,然后选择本地用户和组,点击“用户”,如图所示:3、在右侧面板中,右键单击要删除的用户账号,选择“删除”即可2、 一键全屏1、 首先我们在电脑桌面左下角的搜索框中输入powershell,雨林木风系统怎么样,然后点击启动开机进入u盘启动按哪个大..._linux修改u盘格式

高效程序猿的狂暴之路-程序员宅基地

文章浏览阅读183次。不觉间已经工作六年,回忆第一天实习的场景历历在目、恍若昨日。六年已足以令很多人转管理、转产品、转測试、转行,也一定有人还在坚守着编码,仅仅因热爱。遇到过形形色色的经理、架构师、运维、性能工程师等等,还是认为写代码的才是最厉害的!在这里分享一些这些年来修习到的个人心得。或许并不适用于其它人,但对于我却都是最珍贵的“宝藏”。也谨以此文纪念在代码堆里度过的青春~ 看到这些点..._codeblocks vim插件 知乎

ELF与BIN文件的生成和转换_objcopy elf转bin-程序员宅基地

文章浏览阅读6.1k次,点赞3次,收藏13次。Gcc编译出来的是ELF文件。通常gcc –o test test.c,生成的test文件就是ELF格式的,在linuxshell下输入./test就可以执行。Bin文件是经过压缩的可执行文件,去掉ELF格式的东西。是直接的内存映像的表示。在系统没有加载操作系统的时候可以执行。elf(executable and link format)文件里面包含了符号表,汇编等。BI..._objcopy elf转bin

Springboot创建无法启动tomcat---Unregistering JMX-exposed beans on shutdown-程序员宅基地

文章浏览阅读796次。问题描述: Springboot项目,容易上手,但是项目创建了,无法运行了,那就GG了,本想重新构建个考试系统,工作之余玩玩的小玩意,之前是使用Eclipse下载的STS插件创建的,可以使用。使用IDEA去创建,很多配置都需要自己去配置,创建后,就GG了,一运行就直接报:Unregistering JMX-exposed beans on shutdown,多方查询,是什么创建项目的时候没有..._unregistering jmx-exposed