Python-大数据分析之常用库

1. 数据采集与第三方数据接入

1-1. Beautiful Soup

Beautiful Soup 是一个用于解析HTML和XML文档的库,非常适用于网页爬虫和数据抓取。可以提取所需信息,无需手动分析网页源代码,简化了从网页中提取数据的过程,使得数据抽取变得更加容易。

 

 

1-2. Requests

需要与网络交互时,Requests库是不可或缺。Requests简化了与目标网站接口的通信,易于使用且功能强大,支持多种HTTP方法和参数设置,能够轻松发送HTTP请求并处理响应。网络爬虫、API调用或是测试网站,Requests都能够让这些任务变得轻而易举。

在企业数据采购中,经常需要与供应商或合作伙伴的API进行数据交换。使用requests库可以轻松实现数据的发送和接收,无论是从外部API获取数据还是向外部API推送数据,都可以通过requests来完成。

1-3. Beautiful Soup与Requests总结对比

特点Beautiful SoupRequests
主要功能解析HTML和XML文档,提取数据发送HTTP请求,处理响应
用途网页解析、数据抽取和处理向服务器发起HTTP请求、处理响应,获取网络数据
关注重点文档解析、数据提取HTTP请求和响应的处理
主要特点- 提供多种解析器
- 方便的API来遍历文档树、搜索元素、提取数据
- 修复HTML不完整标签
- 提供简洁的API
- 支持多种HTTP方法
- 处理认证、Cookie、SSL验证等
适用场景从网页中提取特定数据、数据清洗、提取链接等发送HTTP请求、获取网页内容、与API进行交互

 

2. 数据分析

2-1. Jupyter Notebook

Jupyter Notebook是一个开源的交互式笔记本环境,支持多种编程语言,最常用的是Python。它以网页的形式提供一个交互式界面,允许用户在浏览器中编写和运行代码、展示文本、图像、公式等内容,并保存成为具有可执行代码、可视化结果和解释性文档的笔记本。Jupyter Notebook是数据科学家和研究人员的最爱,无论是在进行数据分析、机器学习建模还是原型设计,Jupyter Notebook都是无可替代的工具。

Jupyter Notebook作为一个灵活、交互式、功能丰富的工具,为数据科学家、教育工作者和开发人员提供了一个方便的平台,可以方便地探索数据、编写文档和演示成果。

 

2-2. NumPy

NumPy是Python中用于科学计算的一个强大的库,主要用于处理数组和矩阵运算。它提供了丰富的功能和高效的数据结构,是许多科学和工程领域中常用的核心库之一。

NumPy使用介绍可见另一篇博客文章:https://blog.csdn.net/wt334502157/article/details/128185332

 

2-3. pandas

Pandas是Python中用于数据处理和分析的强大库,它建立在NumPy的基础上,提供了更高级的数据结构和工具,使得数据操作更加便捷和高效。Pandas通常用于处理结构化数据,比如表格数据、时间序列等,无论是需要进行数据清洗、转换还是统计分析,Pandas都可以帮助您快速达成目标

Pandas使用介绍可见另一篇博客文章:https://blog.csdn.net/wt334502157/article/details/128219770

 

3. 数据展示

3-1. matplotlib

Matplotlib是Python中用于绘制图表和可视化数据的库,是Python中最常用的数据可视化库之一,无论是在制作科学图表、数据可视化还是报告,都具有高度的可定制性,Matplotlib提供了丰富的绘图选项,可以让数据以最吸引人的方式呈现。

  1. 绘制柱状图:

  1. 绘制散点图:

  1. 绘制雷达图

 

4. 机器学习

4-1. seaborn

Seaborn是建立在Matplotlib之上的数据可视化库,专注于创建具有统计意义的各种图表。它提供了简单的高级接口,可以轻松地创建漂亮的统计图表,并且具有更好的默认设置,使得数据可视化变得更加简单和直观。

Seaborn提供了一些Matplotlib不提供或不易实现的高级图表类型,如小提琴图、热图、分布图等,这些图表类型能更好地展示数据的分布、关系和特征;具有更好看的默认主题和调色板,使得图表外观更为美观,无需额外调整,让用户在默认情况下就能得到具有吸引力的图表。

虽然Seaborn更加强大,但并不是取代Matplotlib,而是在Matplotlib的基础上提供了更多的功能和便利性,特别适用于统计分析、数据探索和一些高级的可视化需求。在实际应用中,它们可以结合使用,根据不同的需求选择合适的库来绘制图表。

主要特点和功能:

  1. 统计图表: 提供了针对统计分析常用的图表类型,如箱线图、小提琴图、热图、聚类图等。
  2. 内置主题和调色板: 具有美观的默认主题和调色板,使得图表的外观更加吸引人。
  3. 数据探索和分析: 支持对数据集的直观探索,可用于探索数据的分布、关系等。
  4. 与Pandas集成: 能够方便地与Pandas等库结合使用,直接绘制DataFrame中的数据。
  5. 多变量图表: 支持绘制多变量之间的关系图、热图等复杂图表。

用途和应用场景:

基本用法示例:

  1. 绘制箱线图:

  1. 绘制小提琴图:

  1. 绘制热图:

4-2. scikit-learn

scikit-learn(sklearn)是一个用于机器学习和数据挖掘的Python库,提供了各种机器学习算法实现和简单而有效的工具,用于数据挖掘和数据分析。它建立在NumPy、SciPy和Matplotlib之上,包含了各种机器学习算法和工具,适用于各种机器学习任务。

  1. 丰富的机器学习算法: 包含了许多常用的监督学习和无监督学习算法,如回归、分类、聚类、降维等。
  2. 易于使用的API: 具有统一和一致的API,使得用户可以方便地实现各种机器学习算法。
  3. 数据预处理和特征工程: 提供了数据预处理、特征选择、特征提取等功能,用于准备数据以供模型训练。
  4. 模型评估和验证: 提供了各种评估指标和验证方法,用于评估模型的性能和泛化能力。
  5. 与其他库的集成: 可以与NumPy、Pandas等库无缝集成,方便处理和转换数据。
  6. 可扩展性和灵活性: 支持模型的扩展和自定义,用户可以方便地实现自定义的机器学习算法。

  1. K-Means聚类示例

  1. 决策树分类示例

 

  1. 工商企业预测年营业额示例

假设我们想要根据企业的注册资本、成立年份、行业等信息来预测企业的年营业额。以下是一个简化的示例

4-3. Keras

Keras 是一个高层神经网络 API,它可以运行在 TensorFlow、Theano 和 Microsoft Cognitive Toolkit(CNTK)之上,使得深度学习任务更加简单和快速。它设计用来快速试验和搭建神经网络模型,具有易用性和灵活性。

  1. 用户友好性: Keras 提供了简洁一致的 API,易于使用和理解,适合初学者和专业人士。
  2. 模块化和可组合性: 允许用户通过堆叠层的方式快速构建神经网络模型,模块化程度高,便于修改和扩展。
  3. 支持多种神经网络类型: 支持多种类型的神经网络,包括卷积神经网络(CNN)、循环神经网络(RNN)、深度强化学习等。
  4. 灵活性: 可以在 CPU 和 GPU 上无缝运行,支持快速实验和迁移学习。
  5. 易于扩展: 可以通过添加自定义层、损失函数、激活函数等来定制模型。
  6. 内置高级功能: 提供了各种内置功能,如图像处理、序列处理、优化器、损失函数等。
  7. 广泛的社区支持: 拥有庞大的用户社区和开发者支持,提供了丰富的文档和示例。

以下是一个简单的示例,展示了如何使用 Keras 来构建一个简单的全连接神经网络,并训练一个分类模型: