Python数据分析主要步骤及常用库介绍

2024-01-07 21:55:20

目的意义

  • 用户行为分析:优化业务,提升用户体验
  • 业务数据分析:提前规避风险,识别机会
  • 合理利用数据分析技术,还能为公司内部提高投入产出比(RIO)

实施过程

数据分析遵循如下主要过程

数据采集数据挖掘数据可视化

1. 数据采集

  • 数据采集可以基于公司积累的数据,也可以基于公开数据
  • 通常会采?两者结合?式,让数据类别更丰富
见? 机器学习的之数据学习算法

2. 数据挖掘

  • 数据(业务逻辑)理解
  • 数据准备
  • 建?模型
  • 数据清洗
  • 数据存储
  • 模型评估
见? 机器学习的任务流程之流程详解

3. 数据可视化

  • 建?各类图表
  • 按不同的维度展示图表

常用库

数据分析的每个过程均有 Python 库?持,可以通过 Python实现数据分析的全部技术栈

  • 数据采集:Requests
  • 数据挖掘:BeautifulSoup、pandas、Scikit-learn
  • 数据可视化:matplotlib、Seaborn

Requests

Requests 是一个 Python 的 HTTP 客户端库, 支持的 HTTP 特性:

  • 保持活动和连接池
  • 国际域名和 URL
  • Cookie 持久性会话
  • 浏览器式 SSL 验证
  • 自动内容解码
  • 基本 / 摘要身份验证
  • 优雅的键 / 值 Cookie
  • 自动减压
  • Unicode 响应机构
  • HTTP(S)代理支持
  • 分段文件上传
  • 流下载
  • 连接超时
  • 分块请求
  • .netrc 支持
  • 线程安全

Pandas

Pandas(Python 数据分析)是数据科学生命周期中的必备工具,它是数据科学中最流行和使用最广泛的 Python 库之一。在 GitHub 上有大约 17,00 条评论和一个由 1,200 名贡献者组成的活跃社区,它被大量用于数据分析和数据清理。Pandas 提供快速、灵活的数据结构,旨在帮助用户轻松直观地处理结构化数据。

应用场景如下:

  • 通用数据整理和数据清洗
  • 用于数据转换和数据存储的 ETL(提取、转换、加载)作业,因为它非常支持将 CSV 文件加载到其数据帧格式中

Scikit-learn

它是一个机器学习库,提供了几乎所有的机器学习算法,它具有各种分类,回归和聚类算法,包括支持向量机,随机森林,梯度提升,k均值和DBSCAN,并且旨在与Python数值科学库NumPy和SciPy联合使用。

应用场景如下:

  • 聚类
  • 分类
  • 回归
  • 型号选择
  • 降维

BeautifulSoup

BeautifulSoup是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.BeautifulSoup会帮你节省数小时甚至数天的工作时间。BeautifulSoup以网络爬取和数据抓取而闻名。

用户可以在没有适当的 CSV 或 API 的情况下收集某些网站上可用的数据,BeautifulSoup 可以帮助他们抓取这些数据并将其排列成所需的格式。

Matplotlib

Matplotlib 是 Python 中最受欢迎的数据可视化软件包之一,支持跨平台运行,它是 Python 常用的 2D 绘图库,同时它也提供了一部分 3D 绘图接口。Matplotlib 通常与 NumPy、Pandas 一起使用,是数据分析中不可或缺的重要工具之一,可视化效果绝佳,它还提供了一个面向对象的 API,可用于将这些绘图嵌入到应用程序中。

应用场景如下:

  • 数据可视化,帮助用户获得数据洞察力
  • 变量的相关性分析
  • 使用散点图进行异常值检测

seaborn

seaborn是python中的一个可视化库,是对matplotlib进行二次封装而成,既然是基于matplotlib,所以seaborn的很多图表接口和参数设置与其很是接近。相比matplotlib而言,个人认为seaborn的几个鲜明特点如下:

  • 绘图接口更为集成,可通过少量参数设置实现大量封装绘图
  • 多数图表具有统计学含义,例如分布、关系、统计、回归等
  • 对Pandas和Numpy数据类型支持非常友好
  • 风格设置更为多样,例如风格、绘图环境和颜色配置等

正是由于seaborn的这些特点,在进行EDA(Exploratory Data Analysis, 探索性数据分析)过程中,seaborn往往更为高效。然而也需指出,seaborn与matplotlib的关系是互为补充而非替代, 多数场合中seaborn是绘图首选,而在某些特定场景下则仍需用matplotlib进行更为细致的个性化定制。

文章来源:https://blog.csdn.net/ringnian/article/details/135377245
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。