Python 大数据分析教程_1_大数据分析概述

2023-10-31

本章内容

  • 理解数据
  • 认识数据分析
  • 数据分析工具Python
  • 集成开发环境和文本编辑器
  • 使用Jupter Notebook

理解数据

需要分析的数据一般是结构化的、半结构化的、非结构化的数据集合。

大部分数据集都能够被转化为更加适合分析和建模的结构化形式。

主要的结构化数据

  • 表格型数据,其中各列可能是不同的类型(字符串数值日期等),比如报讯在关系型数据库中或以制表符/逗号为分隔符的文本文件中的那些数据。
  • 多维数组(矩阵) 一维、二维、三维等多种形式
  • 通过关键列相互联系的多个表,如sql中的主外键
  • 间隔平均不平均时间序列

认识数据分析

数据分析的概念

数据分析是指用适当地统计分析方法对收集来的大量数据进行分析,提取有用的信息和形成结论而对数据加以详细研究和概括总结的过程。

数据分析方法

  • 描述型分析:描述发生了什么
  • 诊断型分析:得出发生的原因
  • 预测型分析:预测事件未来发生的可能性
  • 指令型分析:应该采取什么措施

数据分析的一般流程

需求分析——数据获取——数据预处理——数据分析与建模——模型评价和优化——部署

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

数据分析工具Python

目前主流的数据分析语言右RPython 程序语言

功能对比

  • Python与R相比速度快
  • 统计理论研究、前沿科学研究,R比Python更胜一筹
  • Python的工程化应用强于R
  • Python的应用场景大于R
  • Python处理大数据的速度快于R

应用场景对比

  • 使用Python进行数据预处理、数据清洗,特别针对于非结构化数据(如网页,图像,文本等),极强的灵活性,能够从自由文本、网站和社交媒体网站提取信息,便于图像挖掘和为分析准备数据
  • 使用R进行分析、数据可视化于建模:为分析提供了极好的灵活性;R使你在分析的时候更容易思考;由于有着十分活跃的统计与数学社区,可以持续的更新和增强分析功能优秀的数据可视化工具

Python的优势

  • 优雅、简单、明确:它是一种代表简单思想的语言,有简单的语法,容易上手
  • 强大的标准库:完善的基础代码库,覆盖了网络通信、文件处理、数据库接口、图形系统、XML处理等大量内容,被形象地称为“内置电池”
  • 良好的扩展性:大量的第三方模块,覆盖了众多领域,开发的代码通过很好的封装,也可以作为第三方模块给别人使用
  • “胶水语言”:免费开源,可移植,还可以嵌入到C,C++等程序

重要的Python数据分析类库

NumPy

Numerical Python的简称,是Python科学计算的基础包

  • 提供了快速高效的多维数组对象ndarry
  • 提供了对数组执行元素级计算以及直接对数组执行数学运算的函数
  • 提供了读写硬盘上基于数组的数据集的工具
  • 提供了线性袋鼠运算、傅立叶变换、随机数生成功能
  • 提供了成熟的C API,用于Python插件和原生C、C++、Fortran代码访问NumPy的数据结构和计算工具
  • 为Python提供快速的数组处理能力
  • 在数据分析方面作为在算法和库之间传递数据的容器
  • 对于数值型数据,NumPy数组在存储和处理数据时要比内置的Python数据结构高效得多
  • 由低级语言(比如C和Fortran)便携的库可以直接操作NumPy数组中的数据,无需进行任何数据复制工具

pandas

pandas是Python的一个数据分析包,最初被作为金融数据分析工具而开发出来

  • 为时间序列分析提供了很好的支持
  • 是基于NumPy的一种工具,是为了解决数据分析任务而创建的
  • 纳入了大量的库和一些标准的数据模型,提供了高效地操作大型数据集所需要的工具
  • 提供了大量能够使我们快速便捷地处理数据的函数和方法
  • 是使Python成为强大而高效的数据分析环境的重要因素之一

Matplotlib

Matplotlib是Python的一个2D会图库

  • 以各种硬拷贝格式和跨平台的交互式环境,生成用于出版质量级别的图形
  • 操作简单,开发者仅需要几行代码,便可以生成折线图、直方图、功率谱图、条形图、错误图、散点图等
  • 提供了pylab的模块,其中包括了NumPy和pyplot中许多常用的函数,方便用户快速进行计算和绘图

SciPy

SciPy是一组专门解决科学计算中各种标准问题域的包的集合

  • scipy.integrat 数值积分例程和微分方程求解器
  • scipy.linalg 扩展了由numpy.lunalg提供的线性代数例程和矩阵分解功能
  • scipy.optimize 函数优化器(最小化器)以及根查找算法
  • scipy.signal 信号处理工具
  • scipy.sparse 稀疏矩阵和稀疏线性系统求解器
  • scipy.special SPECFUN(这是一个实现了许多常用数学函数如伽马函数的Fortran库)的包装器
  • scipy.stats 标准连续和离散概率分布(如密度函数、采样器、连续分布函数等)、各种统计检验方法,以及更好地描述统计法

scilit-learn

scikit-learn是最为流行的Python的通用机器学习工具包

  • 简单有效,可以供用户在各种环境下重复使用
  • 封装了一些常用的算法方法
  • 基本模块主要由数据预处理、模型选择、分类、聚类、数据降维和回归6个,在数据量不大的情况下,scikit-learn可以解决绝大部分问题

stats models

stats modls是一个统计分析包,包含经典统计学和经济计量学的算法

  • 回归模型:线性回归,广义线性模型,健壮线性模型,线性混合效应模型等等
  • 方差分析(ANOVA)
  • 时间序列分析:AR、ARMA、ARIMA、VAR和其它模型
  • 非参数方法:核密度估计、核回归
  • 统计模型结果可视化

集成开发环境和文本编辑器

  • IPython + Jupyter Notebook
  • PyDev(免费),基于Eclipse平台的IDE
  • JetBrains的PyCharm(商业用户需要订阅,开源开发者免费)
  • Visual Studio(Windows用户)的Python Tools
  • Spyder(免费),Anaconda附带的IDE
  • komodo IDE(商业)
  • Others...

文本编辑器

Sublime Text3、Atom

使用Jupyter Notebook

  • Jupyter Notebook 是一个交互式笔记本,支持运行40多种编程语言
  • 本质是一个支持实时代码、数学方程、可视化和markdown的Web 应用程序
  • 需要与内核互动,内核是Jupyter与其它编辑语言的交互编程协议
  • Python的Jupyter内核是使用IPython

启动Jupyter Notebook

Window

  • 打开windows中的命令提示符或Linux中的命令行终端
  • 输入jupyter notebook命令启动

Mac

安装Anaconda进入

  

新建一个Nootbook文件

  • Text File  纯文本型

  • Folder     :文件夹

  • Python3  :  Python运行脚本

可以先建一个Folder文件夹,再建一个Python3脚本,也可以直接新建Python3脚本。

选择Python3

输入python代码 

按 shift + enter 运行,也可以点击工具栏的Run(运行按钮)运行

保存notebook

File菜单下的选择Save and Checkpoint,会创建一个后缀名为ipynb的文件 

修改文件名

默认文件名是Untitled,点击图中红框可以修改

输入新的文件名

  也可以关闭脚本后再文件列表页进行文件名的修改

Tab补全 

  • 输入表达式时,按下Tab,会搜索已输入变量(对象、函数等等)的命名空间
  • 可以补全任何对象的方法和属性
  • 可以补全模块
  • 可以补全文件路径

常用快捷键 

“Shift + Enter”组合键 运行代码
“Esc”键 进入命令模式
“Y”键 切换代码单元
“M”键 切换到Markdown单元
“B”键 在本单元的下方增加一单元
“H”键 查看所有快捷键命令

Markdown单元

markdown是一种使用普通文本编辑器编写的标记语言,通过简单的标记语法,可以使普通文本内容具有一定的格式

Markdown 文本操作---设置标题

  • 在标题文字的前面加一个“#”,代表一级标题;加两个“#”,代表二级标题,依次类推
  • 文字与井号之间要加空格

点击运行后显示各级标题

Markdown文本操作---设置列表 

列表是一种由数据项构成的有限序列,分为无序列表有序列表

  • 无序列表

在文字的前面使用*+-作为列表标记,符号与文字之间加空格

  • 有序列表 

在文字前面使用数字+“、.”作为序号,符号与文字之间加空格

运行后显示列表

Markdown文本操作---设置文字 

为了使文档中的内容更加醒目,可以对文字使用加粗斜体格式

  • 加粗

在文字的前后使用两个星号**或下划线“_ _

  • 斜体

在文字前后使用三个星号***或下划线“_ _ _

运行后结果显示字体加粗或字体倾斜

 Markdown文本操作---绘制表格

  • 代码的第一行表示表头
  • 第二行分隔表头和主体部分
  • 从第三行开始,每一行代表一个表格行
  • 列与列之间用符号“”隔开
  • 表格每一行的两边也要有符号“

Markdown文本操作---导出功能

  • 可以将Notebook到处为多种格式,如HTMLMarkdownreSTPDF(通过LaTex)等格式
  • 导出功能可通过选择“File”——“Download as”级联菜单中的命令实现

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 大数据分析教程_1_大数据分析概述 的相关文章

随机推荐

  • 如何优化一个肽预测模型

    要优化一个肽预测模型 首先需要考虑的是输入数据的质量 确保输入的数据是完整的 正确的 而不是噪声数据 此外 还需要考虑模型的训练方式 比如是否使用正则化和提前停止来确保不会过拟合训练数据 最后 应该尝试在模型中使用不同的参数来改善模型的性能
  • 02 Java基本数据结构之队列实现

    系列文章目录 01 Java基本数据结构之栈实现 02 Java基本数据结构之队列实现 03 Java基本数据结构之优先级队列 04 Java基本数据结构之链表 如有错误 还请指出 文章目录 系列文章目录 前言 一 队列 简述 二 栈 数组
  • 【Hyperledger Fabric】学习笔记1—— 区块链介绍

    目录 1 区块链介绍 1 1 区块链技术起源 1 1 1 区块链技术 1 1 2 区块链技术发展 1 2 区块链核心技术 1 2 1 定义 1 2 2 区块链技术原理 1 2 3 区块链工作过程 1 3 区块链开发平台 1 3 1 公有链平
  • GIT使用教程(十五步吃透,全网最详细)

    一 安装GIT 到官网下载GIT https git scm com downloads 二 创建仓库 在要创建仓库的文件夹空白地方点击右键 在弹出的菜单中点击 GIT Bash Here 然后初始化仓库 git init 成功后该文件夹中
  • MySQL配置和设置问题小结

    问题1 root Tony ts tian bin mysqladmin uroot password kaka123 mysqladmin connect to server at localhost failed ERROR 1045
  • [4G+5G专题-144]: 测试-频谱分析仪工作原理与测试结果分析

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 123222945 目录 前言 第1章
  • RSA/数字证书/签名原理详解

    文中首先解释了加密解密的一些基础知识和概念 然后通过一个加密通信过程的例子说明了加密算法的作用 以及数字证书的出现所起的作用 接着对数字证书做一个详细的解释 并讨论一下windows中数字证书的管理 最后演示使用makecert生成数字证书
  • 优惠卷测试案例

    提示 过期优惠卷 不同等级的用户 叠加使用 退款 支付失败 取消支付 退款中 订单信息 网络问题 退货 兼容性 优惠券是否可以正常使用 外观是否与UI保持一致 部分商品是否能正常使用 购买商品的时候会不会提示使用优惠券 优惠券是否能分享 分
  • git锁住如何解决GitLab: Your account has been blocked.

    今天用gitpush和pull的时候出现了一个问题 报了一个错误 GitLab Your account has been blocked 然后我怀疑是账号错误 然后发现账号密码对 后来发现是两个git账号同时占用了一个目录 强制删除目录下
  • 数据结构【堆】的认识及建立

    目录 一 堆 1 什么是堆 2 堆的存储方式 二 堆的建立与存储 三 堆的应用 1 堆排序 2 对顶堆 一 堆 1 什么是堆 堆 Heap 是一种特殊的完全二叉树结构 其中最大堆 Max Heap 或最小堆 Min Heap 的每个节点的键
  • Maven-Failed to parse POMs

    Maven Failed to parse POMs 错误描述信息 产生错误的原因 解决办法 依赖关系 错误描述信息 ERROR Failed to parse POMs hudson remoting ProxyException hud
  • mmdetection学习&训练测试自己的数据集

    一 本机使用环境 商汤科技和香港中文大学联合开源的深度学习目标检测工具箱mmdetection源码地址 Ubuntu16 04 Cuda9 0 cudnn7 5 Python3 6 GCC 7 2 Anaconda3 二 环境配置 官方配置
  • 无法连接 SQL Server 不可用或不存在 无法连接, SQL Server 不存在或拒绝网络访问..请问这是怎么回事?...

    远程连接sql server 2000服务器的解决方案 一 看ping 服务器IP能否ping通 这个实际上是看和远程sql server 2000服务器的物理连接是否存在 如果不行 请检查网络 查看配置 当然得确保远程sql server
  • CUDA 6.0在 VS 2010下的安装和配置

    CUDA 6 0在 VS 2010下的安装和配置 安装前准备 CUDA 6 0 安装包 下载地址 https developer nvidia com cuda downloads VS 2010 安装 这个直接下个免费的就行 Visual
  • 信息打点-公众号服务&Github监控&供应链&网盘泄漏&证书图标邮箱资产

    文章目录 微信公众号 获取 三方服务 Github监控 开发 配置 源码 网盘资源搜索 全局文件机密 敏感目录文件 目录扫描 爬虫 网络空间进阶 证书 图标 邮箱 实战案例四则 技术分享打击方位 微信公众号 获取 三方服务 1 获取微信公众
  • Linux C利用Socket套接字进行服务器与多个客户端进行通讯

    http blog csdn net returningprodigal article details 51916754 服务器端 html view plain copy print include
  • C++/Python机器学习—感知机(二分类)

    一 Python import numpy as np import matplotlib pyplot as plt 定义预测函数 def predict x w b 计算特征向量和权重向量的点积 dot product np dot x
  • chrome浏览器 docker_使用docker安装elasticsearch

    1 使用docker安装 拉取镜像docker pull elasticsearch 6 5 4 创建容器docker create name elasticsearch net host e discovery type single n
  • 通过这些case,我把项目LCP时间减少了1.5s

    您好 如果喜欢我的文章 可以关注我的公众号 量子前端 将不定期关注推送前端好文 前言 最近在做公司几个项目性能优化 整理出一些比较有用且常见的case来分享一下 A项目优化 白屏相关 DNS预连接 资源预解析 对于公共域名g alicdn
  • Python 大数据分析教程_1_大数据分析概述

    本章内容 理解数据 认识数据分析 数据分析工具Python 集成开发环境和文本编辑器 使用Jupter Notebook 理解数据 需要分析的数据一般是结构化的 半结构化的 非结构化的数据集合 大部分数据集都能够被转化为更加适合分析和建模的