Python数据分析与可视化概述

黎明之道 等级 501 0 0

数据分析与可视化概述

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

  • 数据:是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。它是可识别的、抽象的符号。
  • 数据是信息的表现形式和载体,可以是符号、文字、数字、语音、图像、视频等
  • 数据聚焦于数据的采集、清理、预处理、分析和挖掘,图形聚焦于解决对光学图像进行接收、提取信息、加工变换、模式识别及存储显示,可视化聚焦于解决将数据转换成图形,并进行交互处理。
  • 信息:是数据的内涵,信息是加载于数据之上,对数据作具有含义的解释。
  • 数据和信息是不可分离的,信息依赖数据来表达,数据则生动具体表达出信息。
    • 数据是符号,是物理性的,信息是对数据进行加工处理之后得到、并对决策产生影响的数据,是逻辑性和观念性的;
    • 数据是信息的表现形式,信息是数据有意义的表示。数据是信息的表达、载体,信息是数据的内涵,是形与质的关系。
    • 数据本身没有意义,数据只有对实体行为产生影响时才成为信息。
  • 数据分析:是指用适当的统计分析方法对收集来的大量数据进行分析,为提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。
  • 数据分析就是针对搜集来的数据运用基础探索、统计分析、深层挖掘等方法,发现数据中有用的信息和未知的规律与模式,进而为下一步的业务决策提供理论与实践依据。所以广义的数据分析就包含 了数据挖掘的部分

数据挖掘与数据分析:

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

Python数据分析与可视化概述
二者区别
Python数据分析与可视化概述
数据分析的流程:
Python数据分析与可视化概述

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

二、数据可视化

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

数据:聚焦于解决数据的采集、清理、预处理、分析和挖掘

图形:聚焦于解决对光学图像进行接收、提取信息、加工变换、模式识别及存储显示

可视化:聚焦于解决将数据转换成图形,并进行交互处理

数据可视化方法:

  • 面积&尺寸可视化
  • 颜色可视化
  • 图形可视化
  • 概念可视化

注意:

  • 做数据可视化时,几种方法经常是混合用的,尤其是做一些复杂图形和多维度数据的展示时。
  • 做出的可视化图表一定要易于理解,在显性化的基础上越美观越好,切忌华而不实。
  • 数据可视化要根据数据的特性,如时间和空间信息等,找到合适的可视化方式,将数据用直观地展现出来,以帮助人们理解数据,同时找出包含在海量数据中的规律或者信息。

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

1.Microsoft Excel
2.R语言
3.Python语言
4.JavaScript
5.PHP

四、为何选用Python

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

1.简单易学
Python是一种代表简单主义思想的语言,它有极简单的语法,极易上手。

2.集解释性与编译性于一体
Python语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序,但是需要解释器,它也具有编译执行的特性。

3.面向对象编程
Python 即支持面向过程的编程也支持面向对象的编程。与其他主要的语言如C++ 、Java相比,Python以一种非常强大又简单的方式实现面向对象编程。

4.可扩展性和可嵌入性
可以把部分程序用C或C++编写,然后在Python程序中使用它们,也可以把Python嵌入到C/C++ 程序中,提供脚本功能。

5.程序的可移植性
绝大多数的的Python程序不做任何改变即可在主流计算机平台上运行。

6.免费、开源
可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。

Python数据分析与可视化概述

缺点:
Python的唯一缺点是与C和C++相比执行的效率还不够快,因为Python没有将代码编译成底层的二进制代码;

应用举例:
使用turtle画一只乌龟:

#!python 

"""画一个小乌龟"""

import turtle as t;

t.pensize(2)
t.hideturtle()
t.colormode(255)
t.color((0,0,0),"Green")
t.setup(500,500)
t.speed(5)

t.penup()
t.goto(0,-100)
t.pendown()
t.circle(100)

t.penup()
t.goto(-20,35)
t.pendown()
t.begin_fill()
t.forward(40)
t.seth(-60)
t.forward(40)
t.seth(-120)
t.forward(40)
t.seth(-180)
t.forward(40)
t.seth(120)
t.forward(40)
t.seth(60)
t.forward(40)
t.end_fill()

t.seth(120)
t.color((0,0,0),(29,184,130))

for i in range(6):
    t.begin_fill()
    t.forward(60)
    t.right(90)
    t.circle(-100,60)
    t.right(90)
    t.forward(60)
    t.right(180)
    t.end_fill()

t.penup()
t.goto(-15,100)
t.seth(90)
t.pendown()
t.forward(15)
t.circle(-15,180)
t.forward(15)

for i in range(4):
    t.penup()
    t.goto(0,0)
    if i==0:
        t.seth(35);
    if i==1:
        t.seth(-25)
    if i==2:
        t.seth(-145)
    if i==3:
        t.seth(-205)
    t.forward(100)
    t.right(5)
    t.pendown()
    t.forward(10)
    t.circle(-10,180)
    t.forward(10)

t.penup()
t.goto(10,-100)
t.seth(-90)
t.pendown()
t.forward(10)
t.circle(-30,60)
t.right(150)
t.circle(30,60)
t.goto(-10,-100) 

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/

Jupyter Notebook的使用:
Jupyter Notebook(Julia+Python+R = Jupyter)基于Web技术的交互式计算文档格式,支持Markdown和Latex语法,支持代码运行、文本输入、数学公式编辑、内嵌式画图和其他如图片文件的插入,是一个对代码友好的交互式笔记本。
Python数据分析与可视化概述

  • Files 基本上列出了所有的文件,
  • Running 显示了当前已经打开的终端和Notebooks,
  • Clusters 由 IPython parallel 包提供,用于并行计算。
  • 若要创建新的Notebook,只需单击页面右上角的New按钮,在下拉选项中选择python3,即可得到一个空的notebook界面
    Python数据分析与可视化概述
  • 在编辑区可以看到一个个单元(cell)。如图所示,每个cell以“In[ ]”开头,可以输入正确的Python代码并执行。
  • 例如,输入"python " + “program”,然后按“Shift+Enter”,代码将被运行后,编辑状态切换到新的cell

Jupyter notebook中的常用快捷方式:
Python数据分析与可视化概述

收藏
评论区

相关推荐

Python的环境搭建和下载
Python是一个跨平台、可移植的编程语言,因此可在windows、Linux和Mac OS X系统中安装使用。 安装完成后,你会得到Python解释器环境,可以通过终端输入python命令查看本地是否已经按照python以及python版本。这里有一点需要注意的是,如果没有将python的安装目录添加到环境变量中,会报错(python不是内部命令或外部命
1. 这才是 Python 学习的正确起手姿势,滚雪球学 Python
在博客上,我写了很多关于 Python 的文章,很多朋友可能觉得橡皮擦应该是一个 Python 开发人员或者一个技术开发人员,但很遗憾的告诉大家,橡皮擦恰好是很多公司中开发人员的对立面【产品经理】。但我是一个相当懂技术人的产品经理。 一、Python 初次接触,Python 变量与基本运算 1.1 滚雪球学 Python 课程前置导语 从本篇博
4. 列表一学完,Python 会一半,滚雪球学 Python
滚雪球学 Python,目标就是让 Python 学起来之后,越滚越大。 四、列表一学完,Python 会一半 4.1 列表是个啥 列表,先记住英文为 list ,它是 Python 中一种可以动态添加删除内容的数据类型,由一系列的元素组成。直白点说列表是将多个变量组合在一起的那么一个容器。 很多文章会找一个与列表相似的编程概念,一般会说 P
11. 用别人写好的代码,完成我的工作,剩下的时间去摸鱼
今天是持续写作的第 <font color"red"11</font / 100 天。 如果你有想要交流的想法、技术,欢迎在评论区留言。 Python 为何那么多人都喜欢,就是因为很多大佬给我们造好了“轮子”了,拿着大佬的轮子,我骄傲 十一、Python 模块的设计与应用 模块是一个概念,它包含 1N 个文件,如果文件是 Python 代码
15. Python 程序运行速度如何提高十倍?第一遍滚雪球学 Python 收工
本篇文章将给大家介绍 Python 多线程与多进程相关知识,学习完该知识点之后,你的 Python 程序将进入另一个高峰。 <center<font colorred缓解一下视疲劳</font</center 15. Python 程序运行速度如何提高十倍?第一遍滚雪球学 Python 收工(https://imghelloworld.oss
知乎从Python转为Go,是不是代表Go比Python好?
众所周知,知乎早在几年前就将推荐系统从 Python 转为了 Go。于是乎,一部分人就说 Go 比 Python 好,Go 和 Python 两大社区的相关开发人员为此也争论过不少,似乎,谁也没完全说服谁。 知乎从Python转为Go,是不是代表Go比Python好?我认为,各有优点,谁也取代不了谁,会长期共存! “由 Python 语言转向 Go 语言
Python编程基础(快速入门必看
Python编程基础一、Python语言基本语法 Python是一
python文件的第一行 #!/usr/bin/python3 是什么意思?
python文件的第一行代码通常在脚本语言的第一行会看到: !/usr/bin/env python或 !/usr/bin/python 首先要确定的一点是它不是注释。这两句话的目的都是指出你的python文件用什么可执行程序去运行它。1. !/usr/bin/python 是告诉操作系统执行这个脚本的时候,调用 /usr/bin 下的 python 解释
零基础应该如何开始学习python
随着人工智能时代的到来,Python也在不断发展壮大,越来越多的人选择学Python,只要因为它容易学习,功能又强大还可以跨平台。其实Python作为一门脚本语言,难度上相较于其他语言略微简单点,但是对于没有计算机基础的人来说,也是非常难得,可能安装这一步就会难倒大家!1、Python学习确定方向对于刚入门的人来说,要先把Python基础和进阶学透,再继续往
python的学习难?你的方法不对罢了,看看我的。
1、选择Python版本对于使用python的人来说,python的版本就是我们的工作环境,因此,在学习之前需要考虑好学习哪个版本,python2和python3的版本不同,会存在一些差异,虽说不大,但直接学习python3 的话相对来说会好一点,而且跑一趟还能3相对来说对零基础的小白来说更加的友好,容易上手。2、学习Python基础知识Python 是一个
全网最全python学习路线图,让学习不迷路
学习Python有一段时间了,最近也是在不断的整理Python相关的基础知识和学习一些新的知识,想来分享给大家。我刚开始接触Python时,和大多数初学者一样不知道从那里开始学习python,我也在网上找了许多python相关的资料来学习,但是资料多也不见得就好,因为不知道从哪里开始下手,走了许多弯路。后面我就整理了一套对初学者来说学习python能很快上手
玩转python爬虫
&ensp;&ensp;&ensp;  近几年来,python的热度一直特别火!大学期间,也进行了一番深入学习,毕业后也曾试图把python作为自己的职业方向,虽然没有如愿成为一名python工程师,但掌握了python,也让我现如今的工作开展和职业发展更加得心应手。这篇文章主要与大家分享一下自己在python爬虫方面的收获与见解。 &ensp;&ensp;
浅析常用的Python Web的几大框架
在各种语言平台中,python涌现的web框架恐怕是最多的,是一个百花齐放的世界,各种microframework、framework不可胜数;猜想原因应该是在python中构造框架十分简单,使得轮子不断被发明。所 以在Python社区总有关于Python框架孰优孰劣的话题。下面就给大家介绍一下python的几大框架: Django Django 应该是最出
盘点最重要的7个Python库
点击上方“Python爬虫与数据挖掘”,进行关注回复“书籍”即可获赠Python从入门到进阶共10本电子书导读:对于那些对Python数据生态系统不太熟悉的人士,我将简要地介绍一部分重要的库。 作者:韦斯·麦金尼(Wes McKinney)译者:徐敬来源:大数据DT(ID:hzdashuju) 01 NumPy http://numpy
盘点一款Python二级考试模拟软件,带你轻松过关二级Python考试
大家好,我是Python进阶者。今天给大家讲的这个软件,主要是想让大家通过这个软件能将自己的Python基础进一步提高。一、前言相信有些小伙伴学习Python有一段时日,但是又不知道自己的Python基础学的如何,这个时候就需要一款神器来检测一下自己的Python基础了。要想检测自己的Python功力最直观的方法当然是做题了,至于做什么题了我们就不得而知了,