提交 0e0c8096 编写于 作者: W wizardforcel

2020-07-14 12:10:14

上级 b1734807
# 前言
在本书中,您将深入学习熊猫,这是一个 Python 库,用于处理,转换和分析数据。 这是用于探索性数据可视化的流行框架,这是一种基于数据集和数据管道的属性分析数据的方法。
在本书中,您将深入学习 Pandas,这是一个 Python 库,用于处理,转换和分析数据。 这是用于探索性数据可视化的流行框架,这是一种基于数据集和数据管道的属性分析数据的方法。
这本书将是您使用熊猫探索数据集的实用指南。 您将首先设置 Python,pandas 和 Jupyter Notebook。 您将学习如何使用 Jupyter Notebook 运行 Python 代码。 然后,我们将向您展示如何将数据导入大熊猫并进行一些探索性分析。 您将学习如何使用 pandas 方法操作和重塑数据。 您还将学习如何处理数据集中缺失的数据,如何使用 pandas 和 Matplotlib 绘制图表和图,以及如何为受众创建有效的可视化效果。 最后,我们将教您如何从熊猫中获取数据并转换为多种流行的文件格式,从而总结您新获得的熊猫知识。
这本书将是您使用 Pandas 探索数据集的实用指南。 您将首先设置 Python,pandas 和 Jupyter Notebook。 您将学习如何使用 Jupyter Notebook 运行 Python 代码。 然后,我们将向您展示如何将数据导入 Pandas 并进行一些探索性分析。 您将学习如何使用 pandas 方法操作和重塑数据。 您还将学习如何处理数据集中缺失的数据,如何使用 pandas 和 Matplotlib 绘制图表和图,以及如何为受众创建有效的可视化效果。 最后,我们将教您如何从 Pandas 中获取数据并转换为多种流行的文件格式,从而总结您新获得的 Pandas 知识。
# 这本书是给谁的
......@@ -12,9 +12,9 @@
[第 1 章](../Text/1.html)*处理不同类型的数据集* 教您有关从 CSV 文件和 Excel 文件读取数据时使用高级选项的知识。
[第 2 章](../Text/2.html)*数据选择* ,介绍如何使用熊猫系列数据结构选择数据。 您还将学习如何从 pandas DataFrames 中排序和过滤数据,以及如何更改 pandas 系列中的数据类型。
[第 2 章](../Text/2.html)*数据选择* ,介绍如何使用 Pandas 系列数据结构选择数据。 您还将学习如何从 pandas DataFrames 中排序和过滤数据,以及如何更改 pandas 系列中的数据类型。
[第 3 章](../Text/3.html)*操纵,转换和重塑数据* 探索如何修改熊猫 DataFrame。 您还将学习如何使用`GroupBy`方法,如何处理缺失值以及如何为 pandas DataFrames 中的方法建立索引。 本章还将教您如何使用日期和时间数据,以及如何将函数应用于 pandas 系列或 DataFrames。
[第 3 章](../Text/3.html)*操纵,转换和重塑数据* 探索如何修改 Pandas DataFrame。 您还将学习如何使用`GroupBy`方法,如何处理缺失值以及如何为 pandas DataFrames 中的方法建立索引。 本章还将教您如何使用日期和时间数据,以及如何将函数应用于 pandas 系列或 DataFrames。
[第 4 章](../Text/4.html)*像 Pro* 一样可视化数据,将向您展示如何控制的绘图美学,包括如何为绘图选择颜色。 您还将学习如何绘制分类数据并掌握数据感知网格的绘制方法。
......
# 处理不同种类的数据集
在本章中,我们将学习如何在熊猫中使用不同种类的数据集格式。 我们将学习如何使用熊猫导入的 CSV 文件提供的高级选项。 我们还将研究如何在熊猫中使用 Excel 文件,以及如何使用`read_excel`方法的高级选项。 我们将探讨其他一些使用流行数据格式的熊猫方法,例如 HTML,JSON,PICKLE 文件,SQL 等。
在本章中,我们将学习如何在 Pandas 中使用不同种类的数据集格式。 我们将学习如何使用 Pandas 导入的 CSV 文件提供的高级选项。 我们还将研究如何在 Pandas 中使用 Excel 文件,以及如何使用`read_excel`方法的高级选项。 我们将探讨其他一些使用流行数据格式的 Pandas 方法,例如 HTML,JSON,PICKLE 文件,SQL 等。
# 从 CSV 文件读取数据时使用高级选项
在本部分中,我们将[CSV]和结合使用,并学习如何[熊猫] CSV 数据集以及 高级选项: `read_csv` 方法。
在本部分中,我们将[CSV]和结合使用,并学习如何[Pandas] CSV 数据集以及 高级选项: `read_csv` 方法。
# 导入模块
......@@ -21,7 +21,7 @@ df = pd.read_csv('IMDB.csv', encoding = "ISO-8859-1")
df.head()
```
为了执行基本导入,请将数据集的文件名传递给`read_csv`,并将结果 DataFrame 分配给变量。 在以下屏幕截图中,我们可以看到熊猫已将数据集转换为表格格式:
为了执行基本导入,请将数据集的文件名传递给`read_csv`,并将结果 DataFrame 分配给变量。 在以下屏幕截图中,我们可以看到 Pandas 已将数据集转换为表格格式:
![](img/cfe3ed2e-29c2-480d-8033-c65564c39388.png)
......@@ -58,7 +58,7 @@ The output is as follows:
# 将列指定为索引
默认情况下,`read_csv`在读取数据时分配一个默认的数字索引,该索引从零开始。 但是,您可以通过将列名传递给索引列选项来更改此行为。 然后,熊猫会将索引设置为此列,如以下代码所示:
默认情况下,`read_csv`在读取数据时分配一个默认的数字索引,该索引从零开始。 但是,您可以通过将列名传递给索引列选项来更改此行为。 然后,Pandas 会将索引设置为此列,如以下代码所示:
```py
df = pd.read_csv('IMDB.csv', encoding = "ISO-8859-1", index_col='Title')
......@@ -141,7 +141,7 @@ df.shape
# 从 Excel 文件读取数据
在本节中,我们将学习如何使用大熊猫使用 Excel 数据来处理 ork,以及如何使用大熊猫`read_excel` 方法从 Excel 文件中读取数据。 我们将阅读并探索一个真实的 Excel 数据集,并使用 xplore 解析一些可用于解析 Excel 数据的高级选项。
在本节中,我们将学习如何使用 Pandas 使用 Excel 数据来处理 ork,以及如何使用 Pandas `read_excel` 方法从 Excel 文件中读取数据。 我们将阅读并探索一个真实的 Excel 数据集,并使用 xplore 解析一些可用于解析 Excel 数据的高级选项。
pandas internally uses the Excel `rd` Python library to extract data from Excel files. We can install it by executing `conda install xlrd`.
......@@ -149,7 +149,7 @@ pandas internally uses the Excel `rd` Python library to extract data from Excel
![](img/aa1344e7-c572-4fdf-add1-89fc1e472e84.png)
以下屏幕截图显示了我们将使用熊猫阅读和探索的 Excel 数据集:
以下屏幕截图显示了我们将使用 Pandas 阅读和探索的 Excel 数据集:
![](img/184c0d1e-e396-4c78-91af-0ba3ee54aaab.png)
......@@ -157,7 +157,7 @@ pandas internally uses the Excel `rd` Python library to extract data from Excel
# 基本的 Excel 阅读
我们正在使用熊猫的`read_excel`方法读取此数据。 以最简单的格式,我们只是将想要的 Excel 数据集的文件名传递给`read_excel`方法。 pandas 将 Excel 文件中的数据转换为 pandas DataFrame 。 大熊猫内部为此使用 Excel `rd`库。 在这里,熊猫已读取数据并在内存中创建了表格数据对象,我们可以在我们的代码中访问,浏览和操作,如以下代码所示:
我们正在使用 Pandas 的`read_excel`方法读取此数据。 以最简单的格式,我们只是将想要的 Excel 数据集的文件名传递给`read_excel`方法。 pandas 将 Excel 文件中的数据转换为 pandas DataFrame 。 Pandas 内部为此使用 Excel `rd`库。 在这里,Pandas 已读取数据并在内存中创建了表格数据对象,我们可以在我们的代码中访问,浏览和操作,如以下代码所示:
```py
df = pd.read_excel('IMDB.xlsx')
......@@ -188,7 +188,7 @@ The output is as follows:
# 从多张纸读取数据
Excel 数据集文件附带数据和多个工作表。 实际上,这是许多用户更喜欢 Excel 而不是 CSV 的主要原因之一。 幸运的是,熊猫支持从多张纸中读取数据。
Excel 数据集文件附带数据和多个工作表。 实际上,这是许多用户更喜欢 Excel 而不是 CSV 的主要原因之一。 幸运的是,Pandas 支持从多张纸中读取数据。
# 找出工作表名称
......@@ -303,7 +303,7 @@ df = pd.read_excel('IMDB.xlsx', sheetname= 0, na_values=[' '])
# 读取其他流行格式的数据
在本节中,我们将探索熊猫的功能,以读取和使用各种流行的数据格式。 我们还将学习 h 以便从 JSON 格式,HTML 文件和 PICKLE 数据集中读取数据,以及 h 可以从基于 SQL 的数据库中读取数据。
在本节中,我们将探索 Pandas 的功能,以读取和使用各种流行的数据格式。 我们还将学习 h 以便从 JSON 格式,HTML 文件和 PICKLE 数据集中读取数据,以及 h 可以从基于 SQL 的数据库中读取数据。
# 读取 JSON 文件
......@@ -311,7 +311,7 @@ JSON 是用于结构化数据的最小可读格式。 它主要用于在服务
![](img/c67f9d24-a64c-43d4-9f07-d5eccf714d35.png)
# 将 JSON 数据读入熊猫
# 将 JSON 数据读入 Pandas
为了读取 JSON 数据,pandas 提供了一种名为`read_json`的方法,其中我们传递了要读取的 JSON 数据文件的文件名和位置。 文件位置可以是本地文件,甚至可以是具有有效 URL 方案的 Internet。 我们将结果 DataFrame 分配给变量`DF`
......@@ -336,7 +336,7 @@ pandas 内部使用`lxml` Python 模块读取 HTML 数据。 您可以通过执
![](img/5ef932a6-3683-46dd-ac95-62d223a07840.png)
在这里,我们将 HTML 文件或 URL 的位置传递给`read_html`方法。 `read_html`从 HTML 提取表格数据,然后将其转换为熊猫 DataFrame 。 在以下代码中,我们以表格格式获取了从 HTML 文件提取的数据:
在这里,我们将 HTML 文件或 URL 的位置传递给`read_html`方法。 `read_html`从 HTML 提取表格数据,然后将其转换为 Pandas DataFrame 。 在以下代码中,我们以表格格式获取了从 HTML 文件提取的数据:
```py
pd.read_html('IMDB.html')
......@@ -350,7 +350,7 @@ The output is as follows:
酸洗是将任何类型的 Python 对象(包括列表,字典等)转换为字符串的一种方式。 这个想法是,该字符串包含在另一个 Python 脚本中重构对象所需的所有信息。
我们使用`read_pickle`方法读取我们的 PICKLE 文件,如以下代码所示。 与其他数据格式一样,熊猫根据读取的数据创建 DataFrame :
我们使用`read_pickle`方法读取我们的 PICKLE 文件,如以下代码所示。 与其他数据格式一样,Pandas 根据读取的数据创建 DataFrame :
```py
df = pd.read_pickle('IMDB.p')
......@@ -383,7 +383,7 @@ df = pd.read_sql_query("SELECT * FROM IMDB;", conn)
df.head()
```
接下来,使用`read_sql_query`方法将您想要数据来自的 SQL 查询传递给熊猫。 该方法读取数据并创建一个 DataFrame 对象,如以下屏幕快照所示:
接下来,使用`read_sql_query`方法将您想要数据来自的 SQL 查询传递给 Pandas。 该方法读取数据并创建一个 DataFrame 对象,如以下屏幕快照所示:
![](img/32c75475-e20d-444a-8ea0-6ecfa43181f7.png)
......@@ -402,12 +402,12 @@ df = pd.read_clipboard()
df.head()
```
从网页复制的数据现在作为 DataFrame 存储在内存中,如以下屏幕截图所示。 在将数据快速导入大熊猫时,此方法非常方便:
从网页复制的数据现在作为 DataFrame 存储在内存中,如以下屏幕截图所示。 在将数据快速导入 Pandas 时,此方法非常方便:
![](img/90b4fbce-54bd-483c-909f-055ceb2efdd8.png)
# 摘要
在本章中,我们学习了如何在熊猫中使用不同种类的数据集格式。 我们学习了在导入 CSV 文件时如何使用熊猫提供的高级选项。 我们还看到了如何使用 Excel 数据集,并且探讨了可用于处理各种数据格式(例如 HTML,JSON,PICKLE 文件,SQL 等)的方法。
在本章中,我们学习了如何在 Pandas 中使用不同种类的数据集格式。 我们学习了在导入 CSV 文件时如何使用 Pandas 提供的高级选项。 我们还看到了如何使用 Excel 数据集,并且探讨了可用于处理各种数据格式(例如 HTML,JSON,PICKLE 文件,SQL 等)的方法。
在下一章中,我们将学习如何在高级数据选择中使用熊猫技术。
\ No newline at end of file
在下一章中,我们将学习如何在高级数据选择中使用 Pandas 技术。
\ No newline at end of file
# 数据选择
在本章中,我们将学习使用熊猫进行数据选择的高级技术,如何选择数据子集,如何从数据集中选择多个行和列,如何对熊猫 DataFrame 或一系列数据进行排序,如何 过滤熊猫数据框的角色,还学习如何将多个过滤器应用于熊猫数据框。 我们还将研究如何在熊猫中使用`axis`参数以及在熊猫中使用字符串方法。 最后,我们将学习如何更改熊猫系列的数据类型。
在本章中,我们将学习使用 Pandas 进行数据选择的高级技术,如何选择数据子集,如何从数据集中选择多个行和列,如何对 Pandas DataFrame 或一系列数据进行排序,如何 过滤 Pandas 数据框的角色,还学习如何将多个过滤器应用于 Pandas 数据框。 我们还将研究如何在 Pandas 中使用`axis`参数以及在 Pandas 中使用字符串方法。 最后,我们将学习如何更改 Pandas 系列的数据类型。
首先,我们将学习如何从 pandas DataFrame 中选择数据子集并创建系列对象。 我们将从导入真实数据集开始。 我们将介绍一些熊猫数据选择方法,并将这些方法应用于实际数据集,以演示数据子集的选择。
首先,我们将学习如何从 pandas DataFrame 中选择数据子集并创建系列对象。 我们将从导入真实数据集开始。 我们将介绍一些 Pandas 数据选择方法,并将这些方法应用于实际数据集,以演示数据子集的选择。
在本章中,我们将讨论以下主题:
......@@ -10,8 +10,8 @@
* 排序数据集
* 使用 pandas DataFrame 过滤行
* 使用多个条件(例如 AND,OR 和 ISIN)过滤数据
*熊猫中使用`axis`参数
* 一系列更改熊猫的数据类型
* Pandas 中使用`axis`参数
* 一系列更改 Pandas 的数据类型
# 数据集简介
......@@ -21,9 +21,9 @@
import pandas as pd
```
然后,我们将读取数据集。 由于它是 CSV 文件,因此我们正在使用熊猫`read_csv`方法。 我们将文件名(以逗号作为分隔符)传递给`read_csv`方法,并从此数据中创建一个 DataFrame,我们将其命名为`data`
然后,我们将读取数据集。 由于它是 CSV 文件,因此我们正在使用 Pandas `read_csv`方法。 我们将文件名(以逗号作为分隔符)传递给`read_csv`方法,并从此数据中创建一个 DataFrame,我们将其命名为`data`
我们收到的数据集是 CSV 文件的形式; 因此,我们将使用普通熊猫`read_csv`方法。 我们需要传递文件名和逗号作为分隔符。 以下代码块将创建一个名称为`data`的 DataFrame:
我们收到的数据集是 CSV 文件的形式; 因此,我们将使用普通 Pandas`read_csv`方法。 我们需要传递文件名和逗号作为分隔符。 以下代码块将创建一个名称为`data`的 DataFrame:
```py
data = pd.read_csv('data-zillow.csv', sep=',')
......@@ -51,7 +51,7 @@ type(regions)
![](img/9bf448c1-0ac9-4b98-87b9-575f5b829412.png)
让我们找出 pandas DataFrame 和 pandas 系列之间的区别。 pandas DataFrame 是带有标签行和列的多维表格数据结构。 系列是包含单列值的数据结构。 熊猫的 DataFrame 可以视为一个或多个系列对象的容器。
让我们找出 pandas DataFrame 和 pandas 系列之间的区别。 pandas DataFrame 是带有标签行和列的多维表格数据结构。 系列是包含单列值的数据结构。 Pandas 的 DataFrame 可以视为一个或多个系列对象的容器。
# 多列选择
......@@ -98,9 +98,9 @@ The following is the output:
# 从 pandas DataFrame 中选择多个行和列
在本节中,我们将学习更多有关从读取到熊猫的数据集中选择多个行和列的方法的信息。 我们还将介绍一些熊猫数据选择方法,并将这些方法应用于实际数据集,以演示数据子集的选择。
在本节中,我们将学习更多有关从读取到 Pandas 的数据集中选择多个行和列的方法的信息。 我们还将介绍一些 Pandas 数据选择方法,并将这些方法应用于实际数据集,以演示数据子集的选择。
首先,我们导入熊猫并以与上一节相同的方式从 zillow.com 读取数据。 这样做如下:
首先,我们导入 Pandas 并以与上一节相同的方式从 zillow.com 读取数据。 这样做如下:
```py
import pandas as pd
......@@ -112,7 +112,7 @@ The following is the output:
![](img/8377551b-4590-4cfa-97ae-97bcfc536aff.png)
接下来,让我们看一些使用此数据集选择行和列的技术。 熊猫有一种选择行和列的方法,称为`loc`。 我们将使用`loc`方法从之前创建的数据集中调用 DataFrame。 `loc`要求两个参数之间用逗号分隔,其中第一个参数是要选择的行,第二个参数是要选择的列,如以下代码块所示:
接下来,让我们看一些使用此数据集选择行和列的技术。 Pandas 有一种选择行和列的方法,称为`loc`。 我们将使用`loc`方法从之前创建的数据集中调用 DataFrame。 `loc`要求两个参数之间用逗号分隔,其中第一个参数是要选择的行,第二个参数是要选择的列,如以下代码块所示:
```py
zillow.loc[7, 'Metro']
......@@ -224,11 +224,11 @@ zillow.loc[zillow.Metro=="New York", "County"]
![](img/fc52ea5e-12c0-4d81-98ba-2630817069f5.png)
# 对熊猫 DataFrame 排序
# 对 Pandas DataFrame 排序
在本节中,我们将学习熊猫`sort_values`方法。 我们还将使用各种方法对熊猫 DataFrame 进行排序,并学习如何对熊猫`series`对象进行排序。
在本节中,我们将学习 Pandas`sort_values`方法。 我们还将使用各种方法对 Pandas DataFrame 进行排序,并学习如何对 Pandas`series`对象进行排序。
我们将首先导入 pandas 模块,然后从 zillow.com 将房价数据集读取到 Jupyter Notebook 中。 首先,让我们从简单的排序类型开始。 我们将使用熊猫`sort_values`方法。 例如,假设我们要按`Metro`列对数据进行排序。 我们需要将`Metro`作为参数传递给`sort_values`方法,并在 DataFrame 上调用该方法,如下所示:
我们将首先导入 pandas 模块,然后从 zillow.com 将房价数据集读取到 Jupyter Notebook 中。 首先,让我们从简单的排序类型开始。 我们将使用 Pandas `sort_values`方法。 例如,假设我们要按`Metro`列对数据进行排序。 我们需要将`Metro`作为参数传递给`sort_values`方法,并在 DataFrame 上调用该方法,如下所示:
```py
zillow.sort_values('Metro')
......@@ -276,11 +276,11 @@ type(regions)
![](img/2e38ec82-41b2-4465-b694-8373acfba5f6.png)
# 过滤熊猫 DataFrame 的行
# 过滤 Pandas DataFrame 的行
在本节中,我们将学习从 pandas DataFrame 过滤行和列的方法,并将介绍几种方法来实现此目的。 我们还将学习熊猫`filter`方法以及如何在实际数据集中使用它,以及基于将根据数据创建的布尔序列保护数据的方法。 我们还将学习如何将条件直接传递给 DataFrame 进行数据过滤。
在本节中,我们将学习从 pandas DataFrame 过滤行和列的方法,并将介绍几种方法来实现此目的。 我们还将学习 Pandas `filter`方法以及如何在实际数据集中使用它,以及基于将根据数据创建的布尔序列保护数据的方法。 我们还将学习如何将条件直接传递给 DataFrame 进行数据过滤。
我们将首先导入 pandas 模块,然后从 [zillow.com](https://www.zillow.com/) 中将房价数据集读取到 Jupyter Notebook 中。 首先,我们探索熊猫`filter`方法来过滤数据。 我们可以使用`filter`方法过滤列。 为此,我们需要将列作为列表传递给`filter`方法的 items 参数,如下所示:
我们将首先导入 pandas 模块,然后从 [zillow.com](https://www.zillow.com/) 中将房价数据集读取到 Jupyter Notebook 中。 首先,我们探索 Pandas `filter`方法来过滤数据。 我们可以使用`filter`方法过滤列。 为此,我们需要将列作为列表传递给`filter`方法的 items 参数,如下所示:
```py
filtered_data = data.filter(items=['State', 'Metro'])
......@@ -329,9 +329,9 @@ data[data.Zhvi >= 1000000].head()
![](img/e12e7ee1-62dc-46e2-96bc-f1ea0d3d3e68.png)
# 将多个过滤条件应用于熊猫 DataFrame
# 将多个过滤条件应用于 Pandas DataFrame
在本节中,我们将学习将多个过滤条件应用于熊猫 DataFrame 的方法。 我们将使用逻辑 AND / OR 条件运算符从真实数据集中选择记录。 我们还将看到如何使用`isin()`方法来过滤记录。 我们将在真实数据集上演示`isin`方法用于单列和多列过滤。
在本节中,我们将学习将多个过滤条件应用于 Pandas DataFrame 的方法。 我们将使用逻辑 AND / OR 条件运算符从真实数据集中选择记录。 我们还将看到如何使用`isin()`方法来过滤记录。 我们将在真实数据集上演示`isin`方法用于单列和多列过滤。
我们将首先导入 pandas 模块并从 [zillow.com](https://www.zillow.com/) 中将房价数据集读取到 Jupyter Notebook 中,如下所示:
......@@ -398,9 +398,9 @@ data[filter].head()
![](img/3d0bf655-7a55-4f48-b713-7728f3a4170b.png)
# 在熊猫中使用 axis 参数
# 在 Pandas 中使用 axis 参数
在本节中,我们将学习在熊猫中进行数据分析时何时何地使用`axis`参数或关键字。 我们将介绍`axis`参数,并逐步介绍可以将`axis`关键字设置为的各种值。 我们将演示如何将`axis`设置为行或列来改变方法的行为。 我们还将展示一些使用`axis`关键字的代码示例。
在本节中,我们将学习在 Pandas 中进行数据分析时何时何地使用`axis`参数或关键字。 我们将介绍`axis`参数,并逐步介绍可以将`axis`关键字设置为的各种值。 我们将演示如何将`axis`设置为行或列来改变方法的行为。 我们还将展示一些使用`axis`关键字的代码示例。
我们将首先导入 pandas 模块,然后从 [zillow.com](https://www.zillow.com/) 中将房价数据集读取到 Jupyter 笔记本中:
......@@ -511,9 +511,9 @@ The following is the output:
![](img/7898185a-1388-4957-b3b4-771b258c8acf.png)
# 在熊猫中使用字符串方法
# 在 Pandas 中使用字符串方法
在本节中,我们将学习在熊猫系列中使用各种字符串方法。 我们将把真实的数据集读入大熊猫。 我们将探索一些字符串方法,并将使用这些字符串方法从数据集中选择和更改值。
在本节中,我们将学习在 Pandas 系列中使用各种字符串方法。 我们将把真实的数据集读入 Pandas。 我们将探索一些字符串方法,并将使用这些字符串方法从数据集中选择和更改值。
我们将首先导入 pandas 模块并从 [zillow.com](https://www.zillow.com/) 中读取房价数据集到 Jupyter 笔记本中:
......@@ -528,7 +528,7 @@ The following is the output:
# 检查子串
为了学习如何使用字符串方法检查熊猫系列的子字符串,我们使用`str`包中的`contains`方法。
为了学习如何使用字符串方法检查 Pandas 系列的子字符串,我们使用`str`包中的`contains`方法。
在这里,我们从数据集中调用`RegionName`系列上的`str.contains`方法。 我们正在寻找包含`New` 子字符串的记录。 它打印出一个布尔系列,打印`True`找到一个子字符串,而`False`找到一个子字符串:
......@@ -600,9 +600,9 @@ The following is the output:
![](img/25cab1c9-c671-4ddc-8cf5-565d672d6848.png)
# 更改熊猫系列的数据类型
# 更改 Pandas 系列的数据类型
在本节中,我们将学习如何更改熊猫系列的数据类型。 我们将看到读取其中的数据后如何更改数据类型。 我们还将学习在读取熊猫数据时如何更改数据类型。 我们将通过一个示例将 int 列更改为 float。 我们还将看到如何将字符串值列转换为`datetime`数据类型。
在本节中,我们将学习如何更改 Pandas 系列的数据类型。 我们将看到读取其中的数据后如何更改数据类型。 我们还将学习在读取 Pandas 数据时如何更改数据类型。 我们将通过一个示例将 int 列更改为 float。 我们还将看到如何将字符串值列转换为`datetime`数据类型。
We will start by importing the pandas module and reading the dataset of house prices from [zillow.com](https://www.zillow.com/) into the Jupyter Notebook:
......@@ -669,6 +669,6 @@ pd.to_datetime(data2.Date,infer_datetime_format=True).head()
# 摘要
在本章中,我们学习了从熊猫 DataFrame 中选择数据子集的方法。 我们还了解了如何将这些方法应用于真实数据集。 我们还了解了从已读入熊猫的数据集中选择多个行和列的方法,并将这些方法应用于实际数据集以演示选择数据子集的方法。 我们了解了熊猫`sort_values`方法。 我们看到了使用`sort_values`方法对熊猫 DataFrame 中的数据进行排序的各种方法。 我们还学习了如何对熊猫系列对象进行排序。 我们了解了用于从熊猫 DataFrame 过滤行和列的方法。 我们介绍了几种方法来实现此目的。 我们了解了熊猫的`filter`方法以及如何在实际数据集中使用它。 我们还学习了根据从数据创建的布尔序列过滤数据的方法,并且学习了如何将过滤数据的条件直接传递给 DataFrame。 我们学习了熊猫数据选择的各种技术,以及如何选择数据子集。 我们还学习了如何从数据集中选择多个角色和列。 我们学习了如何对 pandas DataFrame 或系列进行排序。 我们逐步介绍了如何过滤熊猫 DataFrame 的行,如何对此类 DataFrame 应用多个过滤器以及如何在熊猫中使用`axis`参数。 我们还研究了字符串方法在熊猫中的使用,最后,我们学习了如何更改熊猫系列的数据类型。
在本章中,我们学习了从 Pandas DataFrame 中选择数据子集的方法。 我们还了解了如何将这些方法应用于真实数据集。 我们还了解了从已读入 Pandas 的数据集中选择多个行和列的方法,并将这些方法应用于实际数据集以演示选择数据子集的方法。 我们了解了 Pandas`sort_values`方法。 我们看到了使用`sort_values`方法对 Pandas DataFrame 中的数据进行排序的各种方法。 我们还学习了如何对 Pandas 系列对象进行排序。 我们了解了用于从 Pandas DataFrame 过滤行和列的方法。 我们介绍了几种方法来实现此目的。 我们了解了 Pandas 的`filter`方法以及如何在实际数据集中使用它。 我们还学习了根据从数据创建的布尔序列过滤数据的方法,并且学习了如何将过滤数据的条件直接传递给 DataFrame。 我们学习了 Pandas 数据选择的各种技术,以及如何选择数据子集。 我们还学习了如何从数据集中选择多个角色和列。 我们学习了如何对 pandas DataFrame 或系列进行排序。 我们逐步介绍了如何过滤 Pandas DataFrame 的行,如何对此类 DataFrame 应用多个过滤器以及如何在 Pandas 中使用`axis`参数。 我们还研究了字符串方法在 Pandas 中的使用,最后,我们学习了如何更改 Pandas 系列的数据类型。
在下一章中,我们将学习处理,转换和重塑数据的技术。
\ No newline at end of file
......@@ -2,19 +2,19 @@
在本章中,我们将学习以下主题:
* 使用`inplace`参数修改熊猫数据框
* 使用`inplace`参数修改 Pandas 数据框
* 可以使用`groupby`方法的方案
* 如何处理熊猫中的缺失值
* 如何处理 Pandas 中的缺失值
* 探索 pandas DataFrames 中的索引
* 重命名和删除 pandas DataFrame 中的列
* 处理和转换日期和时间数据
* 使用 CopyWarning 处理设置
* 将函数应用于熊猫系列或 DataFrame
* 将函数应用于 Pandas 系列或 DataFrame
* 将多个 DataFrame 合并并连接成一个
# 使用 inplace 参数修改 pandas DataFrame
在本节中,我们将学习如何使用`inplace`参数修改 DataFrame。 我们首先将一个真实的数据集读入大熊猫。 然后我们将介绍 pandas 的`inplace`参数,并查看它如何影响方法的执行最终结果。 我们还将执行带有和不带有`inplace`参数的方法,以演示`inplace`的效果。
在本节中,我们将学习如何使用`inplace`参数修改 DataFrame。 我们首先将一个真实的数据集读入 Pandas。 然后我们将介绍 pandas 的`inplace`参数,并查看它如何影响方法的执行最终结果。 我们还将执行带有和不带有`inplace`参数的方法,以演示`inplace`的效果。
我们首先将`pandas`模块导入 Jupyter 笔记本中,如下所示:
......@@ -28,7 +28,7 @@ import pandas as pd
top_movies = pd.read_table('data-movies-top-grossing.csv', sep=',')
```
由于它是 CSV 文件,因此我们正在使用熊猫`read_csv`函数。 现在我们已经将数据集读入了 DataFrame 中,让我们看一些记录:
由于它是 CSV 文件,因此我们正在使用 Pandas `read_csv`函数。 现在我们已经将数据集读入了 DataFrame 中,让我们看一些记录:
```py
top_movies
......@@ -36,7 +36,7 @@ top_movies
![](img/2b57a793-76e7-4bb3-8722-99ee9379fc20.png)
我们正在使用的数据来自 Wikipedia; 这是迄今为止全球顶级电影的交叉附件数据。 大多数熊猫 DataFrame 方法都返回一个新的 DataFrame。 但是,您可能想使用一种方法来修改原始 DataFrame 本身。 这是`inplace`参数有用的地方。 让我们在不带`inplace`参数的 DataFrame 上调用方法以查看其在代码中的工作方式:
我们正在使用的数据来自 Wikipedia; 这是迄今为止全球顶级电影的交叉附件数据。 大多数 Pandas DataFrame 方法都返回一个新的 DataFrame。 但是,您可能想使用一种方法来修改原始 DataFrame 本身。 这是`inplace`参数有用的地方。 让我们在不带`inplace`参数的 DataFrame 上调用方法以查看其在代码中的工作方式:
```py
top_movies.set_index('Rank').head()
......@@ -74,7 +74,7 @@ top_movies.rename(columns = {'Year': 'Release Year'}).head()
![](img/efb5daf0-637e-491f-a173-53603813802c.png)
熟悉哪些方法需要`inplace`,哪些不需要`inplace`,这是一个好主意。 在本节中,我们学习了如何使用`inplace`参数修改 DataFrame。 我们介绍了熊猫`inplace`参数,以及它如何影响方法的执行最终结果。 我们探讨了带有`inplace`参数和不带有`inplace`参数的方法的执行情况,以证明结果的差异。 在下一节中,我们将学习如何使用`groupby`方法。
熟悉哪些方法需要`inplace`,哪些不需要`inplace`,这是一个好主意。 在本节中,我们学习了如何使用`inplace`参数修改 DataFrame。 我们介绍了 Pandas`inplace`参数,以及它如何影响方法的执行最终结果。 我们探讨了带有`inplace`参数和不带有`inplace`参数的方法的执行情况,以证明结果的差异。 在下一节中,我们将学习如何使用`groupby`方法。
# 使用 groupby 方法
......@@ -95,7 +95,7 @@ data.head()
![](img/daa11ec1-af5d-4dc8-aca7-5a6d1a9b2277.png)
让我们先问一个问题,看看熊猫`groupby`方法是否可以帮助我们获得答案。 我们想要获取每个`State`的平均值`Price`值:
让我们先问一个问题,看看 Pandas `groupby`方法是否可以帮助我们获得答案。 我们想要获取每个`State`的平均值`Price`值:
```py
grouped_data = data[['State', 'Price']].groupby('State').mean()
......@@ -128,7 +128,7 @@ grouped_data.mean().head()
![](img/cb2ddb77-f7ba-424c-ac9f-48bf1e1482f3.png)
我们正在使用`mean`方法来获取价格的平均值。 将数据分为几组后,我们可以使用熊猫方法来获取有关这些组的一些有趣信息。 例如,在这里,我们分别获得有关每个州的描述性统计信息:
我们正在使用`mean`方法来获取价格的平均值。 将数据分为几组后,我们可以使用 Pandas 方法来获取有关这些组的一些有趣信息。 例如,在这里,我们分别获得有关每个州的描述性统计信息:
```py
grouped_data.describe()
......@@ -174,11 +174,11 @@ for state, grouped_data in data.groupby('State'):
在这里,我们通过`State`迭代组数据,并以`State`作为标题发布结果,然后是该`State`的所有记录的表。
在本节中,我们学习了如何使用`groupby`方法将数据拆分和聚合为组。 我们将`groupby`方法分解为多个部分,以探讨其工作方式。 我们用统计方法和其他方法演示了`groupby`,并且还通过遍历组数据学习了如何通过`groupby`做有趣的事情。 在下一节中,我们将学习如何使用熊猫处理数据中的缺失值。
在本节中,我们学习了如何使用`groupby`方法将数据拆分和聚合为组。 我们将`groupby`方法分解为多个部分,以探讨其工作方式。 我们用统计方法和其他方法演示了`groupby`,并且还通过遍历组数据学习了如何通过`groupby`做有趣的事情。 在下一节中,我们将学习如何使用 Pandas 处理数据中的缺失值。
# 处理熊猫中的缺失值
# 处理 Pandas 中的缺失值
在本节中,我们将探索如何使用各种熊猫技术来处理数据集中的缺失数据。 我们将学习如何找出缺少的数据以及从哪些列中找出数据。 我们将看到如何删除所有或大量记录丢失数据的行或列。 我们还将学习如何(而不是删除数据)如何用零或剩余值的平均值填充丢失的记录。
在本节中,我们将探索如何使用各种 Pandas 技术来处理数据集中的缺失数据。 我们将学习如何找出缺少的数据以及从哪些列中找出数据。 我们将看到如何删除所有或大量记录丢失数据的行或列。 我们还将学习如何(而不是删除数据)如何用零或剩余值的平均值填充丢失的记录。
首先,将`pandas`模块导入 Jupyter 笔记本:
......@@ -255,11 +255,11 @@ data_filled_in_mean.Age.fillna(data.Age.mean(), inplace=True) data_filled_in_mea
例如,在这里,我们用现有值的平均值填充`Age`的缺失值。
在本节中,我们探讨了如何使用各种熊猫技术来处理数据集中的缺失数据。 我们学习了如何找出丢失的数据量以及从哪几列中查找。 我们看到了如何删除所有或很多记录丢失数据的行或列。 我们还看到了如何代替删除,也可以用`0`或剩余值的平均值来填写缺失的记录。 在下一节中,我们将学习如何在 pandas DataFrames 中进行数据集索引。
在本节中,我们探讨了如何使用各种 Pandas 技术来处理数据集中的缺失数据。 我们学习了如何找出丢失的数据量以及从哪几列中查找。 我们看到了如何删除所有或很多记录丢失数据的行或列。 我们还看到了如何代替删除,也可以用`0`或剩余值的平均值来填写缺失的记录。 在下一节中,我们将学习如何在 pandas DataFrames 中进行数据集索引。
# 在 Pandas DataFrames 中建立索引
在本节中,我们将探讨如何设置索引并将其用于熊猫中的数据分析。 我们将学习如何在读取数据后以及读取数据时在`DataFrame`上设置索引。 我们还将看到如何使用该索引进行数据选择。
在本节中,我们将探讨如何设置索引并将其用于 Pandas 中的数据分析。 我们将学习如何在读取数据后以及读取数据时在`DataFrame`上设置索引。 我们还将看到如何使用该索引进行数据选择。
与往常一样,我们首先将`pandas`模块导入 Jupyter 笔记本:
......@@ -319,11 +319,11 @@ data.reset_index(inplace=True)
我们正在传递`inplace=True`,因为我们想在原始 DataFrame 本身中将其重置。
在本节中,我们探讨了如何设置索引并将其用于熊猫中的数据分析。 我们还学习了在读取数据后如何在 DataFrame 上设置索引。 我们还看到了如何在从 CSV 文件读取数据时设置索引。 最后,我们看到了一些使我们可以使用索引进行数据选择的方法。 在下一节中,我们将学习如何重命名 Pandas DataFrame 中的列。
在本节中,我们探讨了如何设置索引并将其用于 Pandas 中的数据分析。 我们还学习了在读取数据后如何在 DataFrame 上设置索引。 我们还看到了如何在从 CSV 文件读取数据时设置索引。 最后,我们看到了一些使我们可以使用索引进行数据选择的方法。 在下一节中,我们将学习如何重命名 Pandas DataFrame 中的列。
# 重命名 Pandas DataFrame 中的列
在本节中,我们将学习在熊猫中重命名列标签的各种方法。 我们将学习如何在读取数据后和读取数据时重命名列,并且还将看到如何重命名所有列或特定列。 首先,将`pandas`模块导入 Jupyter 笔记本:
在本节中,我们将学习在 Pandas 中重命名列标签的各种方法。 我们将学习如何在读取数据后和读取数据时重命名列,并且还将看到如何重命名所有列或特定列。 首先,将`pandas`模块导入 Jupyter 笔记本:
```py
import pandas as pd
......@@ -373,11 +373,11 @@ data.columns = ['Date', 'Region ID', 'Region Name', 'State', 'City', 'County', '
我们已经将`columns`属性设置为一个名称列表,我们希望将所有列都重命名为该名称。
在本节中,我们了解了重命名熊猫中列级别的各种方法。 我们学习了在读取数据后如何重命名列,并学习了在从 CSV 文件读取数据时如何重命名列。 我们还看到了如何重命名所有列或特定列。
在本节中,我们了解了重命名 Pandas 中列级别的各种方法。 我们学习了在读取数据后如何重命名列,并学习了在从 CSV 文件读取数据时如何重命名列。 我们还看到了如何重命名所有列或特定列。
# 从 pandas DataFrame 中删除列
在本节中,我们将研究如何从熊猫的数据集中删除列或行。 我们将详细了解`drop()`方法及其参数的功能。
在本节中,我们将研究如何从 Pandas 的数据集中删除列或行。 我们将详细了解`drop()`方法及其参数的功能。
首先,我们首先将`pandas`模块导入 Jupyter 笔记本:
......@@ -433,7 +433,7 @@ data.head()
# 处理日期和时间序列数据
在本节中,我们将仔细研究如何处理熊猫中的日期和时间序列数据。 我们还将看到如何:
在本节中,我们将仔细研究如何处理 Pandas 中的日期和时间序列数据。 我们还将看到如何:
* 将字符串转换为`datetime`类型,以进行高级`datetime`系列操作
* 选择并过滤`datetime`系列数据
......@@ -502,7 +502,7 @@ dataset['1980']
![](img/c26af422-8f77-4a73-b433-394939ce560d.png)
此代码表示将显示当年`1980`存在的所有记录。 熊猫不需要我们提及整个日期,因为即使是日期的一部分也会帮助我们产生结果。
此代码表示将显示当年`1980`存在的所有记录。 Pandas 不需要我们提及整个日期,因为即使是日期的一部分也会帮助我们产生结果。
* **特定年份和之后的记录**:要显示特定年份和之后的所有记录,我们使用以下代码:
......@@ -552,7 +552,7 @@ dataset.DOB.dt.weekday_name
![](img/5f7bc3d4-27ab-44ea-9a41-7151729f87c6.png)
这些是`datetime`系列数据的方法和属性的一些示例。 在熊猫的参考文档中可以找到更多内容,网址为。
这些是`datetime`系列数据的方法和属性的一些示例。 在 Pandas 的参考文档中可以找到更多内容,网址为。
# 使用 CopyWarning 处理设置
......@@ -560,15 +560,15 @@ dataset.DOB.dt.weekday_name
我们还将看一下可能遇到`SettingWithCopyWarning`的一些情况,以便我们了解如何摆脱它。
熊猫的狂热用户肯定会遇到`SettingWithCopyWarning`。 各种网站,例如 Stack Overflow 和其他论坛,都充斥着有关处理此警告的查询。 它看起来像以下内容:
Pandas 的狂热用户肯定会遇到`SettingWithCopyWarning`。 各种网站,例如 Stack Overflow 和其他论坛,都充斥着有关处理此警告的查询。 它看起来像以下内容:
![](img/99c1872a-2a06-4e79-a76d-456171b7396f.png)
要了解如何摆脱它,我们需要了解`SettingWithCopyWarning`实际代表什么。
我们都知道,熊猫中的不同数据操作会返回数据视图或副本。 修改数据时,这可能会引起问题。 `SettingWithCopyWarning`的目的是警告我们,当我们想修改副本时,我们可能正在尝试修改原始数据,反之亦然。 这种情况通常在链接分配期间发生。
我们都知道,Pandas 中的不同数据操作会返回数据视图或副本。 修改数据时,这可能会引起问题。 `SettingWithCopyWarning`的目的是警告我们,当我们想修改副本时,我们可能正在尝试修改原始数据,反之亦然。 这种情况通常在链接分配期间发生。
解决方案是使用`block`方法将患者链合并为一个手术。 这可以帮助熊猫知道必须修改哪个 DataFrame。
解决方案是使用`block`方法将患者链合并为一个手术。 这可以帮助 Pandas 知道必须修改哪个 DataFrame。
为了更好地理解这一点,让我们看下面的示例。
......@@ -632,7 +632,7 @@ data1.is_copy = None
现在让我们看一下如何将函数应用于 pandas 系列或 DataFrame。
# 将函数应用于熊猫系列或 DataFrame
# 将函数应用于 Pandas 系列或 DataFrame
在本节中,我们将学习如何将 Python 的预构建函数和自构建函数应用于 pandas 数据对象。 我们还将学习有关将函数应用于 pandas 系列和 pandas DataFrame 的知识。
......@@ -652,7 +652,7 @@ data.head()
![](img/75b18b47-cf3d-48f0-b9df-43a6c93a3e03.png)
让我们继续使用熊猫`apply`方法来应用函数。 在此示例中,我们将使用`lambda`创建一个函数,如下所示:
让我们继续使用 Pandas `apply`方法来应用函数。 在此示例中,我们将使用`lambda`创建一个函数,如下所示:
```py
func_lower = lambda x: x.lower()
......@@ -695,7 +695,7 @@ data[['Age', 'Pclass']].applymap(my_func)
# 将多个 DataFrame 合并并连接成一个
本节重点介绍如何使用熊猫`merge()``concat()`方法组合两个或多个 DataFrame。 我们还将探讨`merge()`方法以各种方式加入 DataFrame 的用法。
本节重点介绍如何使用 Pandas`merge()``concat()`方法组合两个或多个 DataFrame。 我们还将探讨`merge()`方法以各种方式加入 DataFrame 的用法。
我们将从导入`pandas`模块开始。 让我们创建两个 DataFrame,其中两个都包含具有相同数据但具有不同记录的相同参数:
......@@ -794,6 +794,6 @@ pd.merge(dataset1, dataset2, on='name', how='right')
# 摘要
在本章中,我们学习了各种熊猫技术来操纵和重塑数据。 我们学习了如何使用`inplace`参数修改 pandas DataFrame。 我们还学习了可以使用`groupby`方法的方案。 我们看到了如何处理熊猫中缺失的值。 我们探索了 pandas DataFrames 中的索引,以及重命名和删除 pandas DataFrame 中的列。 我们学习了如何处理和转换日期和时间数据。 我们学习了如何处理`SettingWithCopyWarning`,还了解了如何将函数应用于 pandas 系列或 DataFrame。 最后,我们学习了如何合并和连接多个 DataFrame。
在本章中,我们学习了各种 Pandas 技术来操纵和重塑数据。 我们学习了如何使用`inplace`参数修改 pandas DataFrame。 我们还学习了可以使用`groupby`方法的方案。 我们看到了如何处理 Pandas 中缺失的值。 我们探索了 pandas DataFrames 中的索引,以及重命名和删除 pandas DataFrame 中的列。 我们学习了如何处理和转换日期和时间数据。 我们学习了如何处理`SettingWithCopyWarning`,还了解了如何将函数应用于 pandas 系列或 DataFrame。 最后,我们学习了如何合并和连接多个 DataFrame。
在下一章中,我们将学习使用`seaborn` Python 库将数据可视化的技术,例如 pro。
\ No newline at end of file
......@@ -29,7 +29,7 @@ from matplotlib import pyplot as plt
import seaborn as sns
```
我们需要导入熊猫的 Matplotlib 和 seaborn 模块。 我们正在使用 Matplotlib 的 inline magic 命令来确保我们的绘图连同代码一起正确显示在 Jupyter Notebook 中。
我们需要导入 Pandas 的 Matplotlib 和 seaborn 模块。 我们正在使用 Matplotlib 的 inline magic 命令来确保我们的绘图连同代码一起正确显示在 Jupyter Notebook 中。
接下来,我们使用 pandas 和以下命令读取数据集:
......@@ -199,7 +199,7 @@ from matplotlib import pyplot as plt
import seaborn as sns
```
我们需要导入熊猫,Matplotlib 和 seaborn。 然后,我们需要读取 CSV 数据集; 我们使用`read_csv`方法执行此操作,如下所示:
我们需要导入 Pandas,Matplotlib 和 seaborn。 然后,我们需要读取 CSV 数据集; 我们使用`read_csv`方法执行此操作,如下所示:
```py
df = pd.read_csv('data-alcohol.csv')
......@@ -337,7 +337,7 @@ from matplotlib import pyplot as plt
import seaborn as sns
```
除了熊猫,我们还需要导入 Matplotlib 和 Seaborn Python 库。 然后,我们读取 CSV 数据集,如下所示:
除了 Pandas,我们还需要导入 Matplotlib 和 Seaborn Python 库。 然后,我们读取 CSV 数据集,如下所示:
```py
df = pd.read_csv('data_simpsons_episodes.csv')
......
# 精通 Pandas 探索性分析
> 原文:[Mastering Exploratory Analysis with Pandas](https://b-ok.cc/book/3675507/0027c7)
>
> 协议:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/)
>
> 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。
* [在线阅读](https://ds.apachecn.org)
* [ApacheCN 面试求职交流群 724187166](https://jq.qq.com/?_wv=1027&k=54ujcL3)
* [ApacheCN 学习资源](http://www.apachecn.org/)
## 贡献指南
本项目需要校对,欢迎大家提交 Pull Request。
> 请您勇敢地去翻译和改进翻译。虽然我们追求卓越,但我们并不要求您做到十全十美,因此请不要担心因为翻译上犯错——在大部分情况下,我们的服务器已经记录所有的翻译,因此您不必担心会因为您的失误遭到无法挽回的破坏。(改编自维基百科)
## 联系方式
### 负责人
* [飞龙](https://github.com/wizardforcel): 562826179
### 其他
* 在我们的 [apachecn/apachecn-ds-zh](https://github.com/apachecn/apachecn-ds-zh) github 上提 issue.
* 发邮件到 Email: `apachecn@163.com`.
* 在我们的 [组织学习交流群](http://www.apachecn.org/organization/348.html) 中联系群主/管理员即可.
## 赞助我们
![](http://data.apachecn.org/img/about/donate.jpg)
+ [精通 Pandas 探索性分析](README.md)
+ [前言](0.md)
+ [处理不同种类的数据集](1.md)
+ [数据选择](2.md)
+ [处理,转换和重塑数据](3.md)
+ [像专业人士一样可视化数据](4.md)
......@@ -20,6 +20,12 @@
+ [Pandas 很有趣! 什么是 Pandas?](docs/handson-data-analysis-numpy-pandas/4.md)
+ [算术,函数应用程序以及与 Pandas 的映射](docs/handson-data-analysis-numpy-pandas/5.md)
+ [管理,建立索引和绘图](docs/handson-data-analysis-numpy-pandas/6.md)
+ [精通 Pandas 探索性分析](docs/master-exp-analysis-pandas/README.md)
+ [前言](docs/master-exp-analysis-pandas/0.md)
+ [处理不同种类的数据集](docs/master-exp-analysis-pandas/1.md)
+ [数据选择](docs/master-exp-analysis-pandas/2.md)
+ [处理,转换和重塑数据](docs/master-exp-analysis-pandas/3.md)
+ [像专业人士一样可视化数据](docs/master-exp-analysis-pandas/4.md)
+ [Sklearn 秘籍](docs/sklearn-cookbook/README.md)
+ [第一章 模型预处理](docs/sklearn-cookbook/1.md)
+ [第二章 处理线性模型](docs/sklearn-cookbook/2.md)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册