IBM全栈开发【7】:数据科学的Python基础
2024/5/18
近期在学习IBM全栈应用开发微学士课程,故此记录学习笔记。
1. Python基础
2. Python数据结构
3. Python编程基础
4. 用Python处理数据
4.1. Pandas
Pandas
是一个功能强大的 Python 库,用于数据处理和分析,提供数据结构和函数来处理结构化数据,如数据帧和序列。
- 可以使用
import
命令导入文件,然后输入文件名。 - 使用
as
命令可以为文件提供一个更短的名称。 - 在 Pandas 中,使用数据帧 (
df
) 来指定要读取的文件。 - 数据帧由行和列组成。
- 可以使用特定
DataFrame
的一列或多列来创建新的DataFrame
。 - 我们可以处理
DataFrames
中的数据,并将结果保存为不同的格式。 - 在 Python 中,可以使用
Unique
方法来确定DataFrames
列中的唯一元素。 - 您可以使用不等式运算符和
df
,为DataFrames
中选定的列分配一个布尔值。 - 将新的
DataFrame
保存为不同的DataFrame
,其中可能包含先前DataFrame
中的值。
4.2. NumPy
NumPy
是一个用于数值和矩阵运算的 Python 库,提供多维数组对象和各种数学函数,可高效处理数据。
NumPy
是Pandas
的基础。NumPy
数组或ND
数组类似于列表,通常具有固定大小和同类元素。
一维 NumPy
数组是具有单轴的元素线性序列,就像传统的列表,但针对数值计算和数组操作进行了优化。
- 可以使用索引访问
NumPy
数组中的元素。 - 使用属性
dtype
可以获取数组元素的数据类型。 - 你可以使用
nsize
和ndim
分别获取数组的大小和维度。 - 可以在
NumPy
中使用索引和切片方法。 - 向量加法是 Python 中广泛使用的操作。
- 用线段或箭头来表示向量加法是非常有用的。
NumPy
代码的运行速度更快,这对处理大量数据很有帮助。- 用负号代替加号,可以执行向量减法。
- 在 Python 中,数组与标量相乘需要将数组中的每个元素与标量值相乘,从而得到一个新数组,其中的每个元素都按标量缩放。
Hadamard
积是指两个相同形状的数组按元素相乘,得到一个新数组,其中每个元素都是输入数组中相应元素的乘积。- Python 中的点乘是两个数组的元素乘积之和,通常用于向量和矩阵操作,以找到相应元素相乘并求和的标量结果。
- 在使用
NumPy
时,通常会使用Matplotlib
等库来从存储在 NumPy 数组中的数值数据创建图表和可视化效果。
二维 NumPy
数组是一种具有行和列的网格状结构,适合以矩阵或表格的形式表示数据,用于数值计算。
- 在
NumPy
中,shape
指的是数组的维数(行列数),表示数组的大小和结构。 - 使用属性
size
可以获得数组的大小。 - 使用矩形属性可以访问数组中的各种元素。
- 在
NumPy
中使用标量对元素进行乘法运算。
5. API和数据收集
5.1. API
Python 中的简单 API 是应用程序编程接口,它提供了与服务、库或数据交互的简单易用的方法,通常只需最少的配置或复杂度。
API 使两个软件可以相互对话。
在 Python 中使用 API 库需要导入该库,调用其函数或方法来发出 HTTP 请求,并解析响应以访问 API 提供的数据或服务。
Pandas
API 通过与其他软件组件通信来处理数据。
当你创建一个字典,然后使用 DataFrames
构造函数创建一个 Pandas
对象时,实例就形成了。
方法 head
将从 DataFrames
的顶部(默认为 5
)显示所提及的行数,而方法 means
将计算平均值并返回值。
5.1.1. REST API
REST API 允许通过互联网进行通信,利用存储、访问更多数据、人工智能算法等资源。
HTTP
方法通过互联网传输数据。- HTTP 消息通常包含一个 JSON 文件,其中包含操作指令。
- 包含 JSON 文件的 HTTP 消息会作为网络服务的响应返回给客户端。
- 处理时间序列数据需要使用
Pandas
时间序列函数。 - 您可以获取每日蜡烛图数据,并使用
Plotly
绘制蜡烛图。
5.1.2. HTTP
HTTP(超文本传输协议)在客户端(网络浏览器)和万维网服务器之间传输数据,包括网页和资源。
- HTTP 协议可能包括多种类型的 REST API。
- HTTP 响应包括资源类型、资源长度等信息。
- 统一资源定位符(URL)是在网络上查找资源的最常用方法。
- URL 分为三个部分:方案、互联网地址或基本 URL 和路径。
GET
方法是请求信息的常用方法之一。其他一些方法也可能包含正文。- 响应方法包含响应的版本和正文。
POST
向服务器提交数据,PUT
更新服务器上已有的数据,DELETE
从服务器删除数据。
5.1.3. Requests
Requests
是一个 Python 库,可以轻松发送 HTTP/1.1 请求。
- 可以使用
GET
方法修改查询结果。 - 可以用一个 Query 字符串从一个 URL 获取多个请求,如名称、ID 等。
5.1.4. 爬虫
Python 中的网络抓取包括从网站中提取和解析数据,以便使用 Beautiful Soup
和 requests
等库为各种应用程序收集信息。
- HTML 包含由角括号(称为标签)括起来的蓝色文本元素所包围的文本。
- Python 中的每个标签名称都是一个类,每个标签都是一个实例。
- 您可以选择网页上的 HTML 元素来查看网页。
- 网页可能还包含 CSS 和 JavaScript 以及 HTML 元素。
- 每个 HTML 文档就像一个 HTML 树,其中可能包含字符串和其他标记。
- 每个 HTML 表格都有表格标记,并定义了行、页眉、正文等。