diff --git a/docs/handson-data-analysis-numpy-pandas/1.md b/docs/handson-data-analysis-numpy-pandas/1.md index 6a7d284c767ca0d7665d28c4b5bda44443a7903c..f75b898e28da4f9b7a696ff1992e18daea6a7975 100644 --- a/docs/handson-data-analysis-numpy-pandas/1.md +++ b/docs/handson-data-analysis-numpy-pandas/1.md @@ -82,7 +82,7 @@ Anaconda 随附 Jupyter 笔记本。 Jupyter 笔记本允许纯文本与代码 ![](img/2565c2e6-345d-4b1e-a1c2-7d3f5c795ea6.png) -我们也可以导入库。 例如,我们可以从 Matplotlib 导入模块。 在这种情况下,为了使 Matplotlib 在 Jupyter Notebook 中交互工作,我们将需要使用魔术函数,该魔术函数以%开头,魔术函数的名称以及需要传递给的任何类型的参数。 它。 稍后,我们将在和 详细信息中介绍这些内容,但首先让我们运行该单元格。`plt`现在已经加载,现在我们可以使用它了。 例如,在最后一个单元格中,我们将输入以下代码: +我们也可以导入库。 例如,我们可以从 Matplotlib 导入模块。 在这种情况下,为了使 Matplotlib 在 Jupyter Notebook 中交互工作,我们将需要使用魔术函数,该魔术函数以%开头,魔术函数的名称以及需要传递给的任何类型的参数。 它。 稍后,我们将在详细信息中介绍这些内容,但首先让我们运行该单元格。`plt`现在已经加载,现在我们可以使用它了。 例如,在最后一个单元格中,我们将输入以下代码: ![](img/cd197191-9798-46d6-9448-bed5424046a6.png) @@ -362,7 +362,7 @@ conda remove selenium * 为 Python 安装 MySQL 连接器 * 创建,使用和删除数据库 -为了使 MySQL 和 Python 一起使用,MySQL 连接器是必需的。 存在许多 SQL 数据库实现,尽管 MySQL 可能不是最简单的数据库管理系统,但它功能齐全,具有工业实力,在现实世界中很常见,而且它是免费开放的 来源,这意味着它是一个很好的学习工具。 您可以从 [MySQL 的网站](https://dev.mysql.com/downloads/)上获取 MySQL Community Edition,它是免费和开源的版本。 +为了使 MySQL 和 Python 一起使用,MySQL 连接器是必需的。 存在许多 SQL 数据库实现,尽管 MySQL 可能不是最简单的数据库管理系统,但它功能齐全,具有工业实力,在现实世界中很常见,而且它是免费和开源的,这意味着它是一个很好的学习工具。 您可以从 [MySQL 的网站](https://dev.mysql.com/downloads/)上获取 MySQL Community Edition,它是免费和开源的版本。 # 安装 MySQL diff --git a/docs/handson-data-analysis-numpy-pandas/2.md b/docs/handson-data-analysis-numpy-pandas/2.md index 73697a3b97a8abb9e63d029076b86e8892c3d8aa..533b07f33d516f774414619cd6b14ff6c9cf7560 100644 --- a/docs/handson-data-analysis-numpy-pandas/2.md +++ b/docs/handson-data-analysis-numpy-pandas/2.md @@ -76,9 +76,9 @@ ![](img/4aafb70e-7107-4da8-a8af-083282dd191a.png) -毫不奇怪,`inf`不是有限的。`-inf`都不是。 但是`nan`既不是 也不是 有限或无穷大; 它是未定义的。 让我们看看执行`inf + 1`,`inf * -1`和`nan + 1`时会发生什么。 我们总是得到`nan`。 +毫不奇怪,`inf`不是有限的。`-inf`都不是。 但是`nan`既不是有限的也不是无穷大; 它是未定义的。 让我们看看执行`inf + 1`,`inf * -1`和`nan + 1`时会发生什么。 我们总是得到`nan`。 -如果我们将 2 增大到负无穷大的幂,则得到的是 0。但是,如果将其提高到无穷大,我们将得到无穷大。`inf - inf`等于而不是 等于任何特定数字: +如果我们将 2 增大到负无穷大的幂,则得到的是 0。但是,如果将其提高到无穷大,我们将得到无穷大。`inf - inf`等于`NaN`而不是任何特定数字: ![](img/de302823-d282-46b1-81d2-a1655f52a956.png) diff --git a/docs/handson-data-analysis-numpy-pandas/3.md b/docs/handson-data-analysis-numpy-pandas/3.md index 7c38b72b4161f9f689c8d5bbee18c21282dab297..2cc31a40d0536ef15868534525ddf2aa31cf389e 100644 --- a/docs/handson-data-analysis-numpy-pandas/3.md +++ b/docs/handson-data-analysis-numpy-pandas/3.md @@ -104,7 +104,7 @@ Wayne 不包括在选择中,这是为执行该索引而生成的数组: ![](img/8fad7f33-bca1-4121-8837-9e70331b95a0.png) -第一个数组中的第一个 0 表示第一个坐标为零,第二个数组中的第一个 0 表示第二个坐标为零,这由这两个数组列出的顺序指定。因此,在第一行和第一列 所得数组的元素为`[0, 0]`。 在第一行和第二列中,我们有原始数组中的元素`[0, 2]`。 然后,在第二行和第一列中,我们具有原始数组的第三行和第一列中的元素。 注意,这是`Wayne`。 +第一个数组中的第一个 0 表示第一个坐标为零,第二个数组中的第一个 0 表示第二个坐标为零,这由这两个数组列出的顺序指定。因此,所得数组的第一行和第一列的元素为`[0, 0]`。 在第一行和第二列中,我们有原始数组中的元素`[0, 2]`。 然后,在第二行和第一列中,我们具有原始数组的第三行和第一列中的元素。 注意,这是`Wayne`。 然后,我们有了原始数组的第三行和第三列中的元素,该元素对应于`Joey`。 @@ -218,7 +218,7 @@ NumPy 数组的算术总是按组件进行的。 这意味着,如果我们有 其中一些是`ndarray`方法,其他则在您需要导入的`linalg`模块中。 因此,我们实际上已经在较早的示例中演示了转置。 注意,我们在这里使用转置来在行和列之间交换。 -这是`arr4`中的 换位: +这是`arr4`中的转置: ![](img/f7a9f0cd-719f-4d06-bdda-0b7dc921a6e2.png) @@ -250,7 +250,7 @@ NumPy 数组的算术总是按组件进行的。 这意味着,如果我们有 ![](img/280c0309-eb08-4c7f-a163-d90d2c923790.png) -我还想创建一个仅包含 虹膜副本最后一列的新数组,并创建另一个包含其余列和一列的数组 的 1 秒。 +我还想创建一个仅包含鸢尾花副本最后一列的新数组,并创建另一个包含其余列和全为 1 的列的数组。 现在,我们将创建一个与矩阵乘积相对应的新数组。 所以我说 X 平方是 X 转置并乘以 X,这就是结果数组: diff --git a/docs/handson-data-analysis-numpy-pandas/4.md b/docs/handson-data-analysis-numpy-pandas/4.md index 042cc59345986944c3036cbaa90cd281e197a946..3bcfa7a94d3c4584c4d7ec50078f28228189d926 100644 --- a/docs/handson-data-analysis-numpy-pandas/4.md +++ b/docs/handson-data-analysis-numpy-pandas/4.md @@ -6,7 +6,7 @@ pandas 向 Python 引入了两个关键对象,序列和数据帧,后者可能是最有用的,但是 pandas DataFrames 可以认为是绑定在一起的系列。 系列是一系列数据,例如基本 Python 中的列表或一维 NumPy 数组。 而且,与 NumPy 数组一样,序列具有单个数据类型,但是用序列进行索引是不同的。 使用 NumPy 时,对行和列索引的控制不多; 但是对于一个系列,该系列中的每个元素都必须具有唯一的索引,名称,键,但是您需要考虑一下。 该索引可以由字符串组成,例如一个国家中的城市,而序列中的相应元素表示一些统计值,例如城市人口; 或日期,例如股票系列的交易日。 -可以将数据帧视为具有公共索引的多个系列的公共长度,它们在单个表格对象中绑定在一起。 该对象类似于 NumPy 2D `ndarray`,但不是同一件事。 并非所有列都必须具有相同的数据类型。 回到城市示例,我们可以有一个包含人口的列,另一个包含该城市所在州或省的信息,还有一个包含布尔值的列,用于标识城市是州还是省的首都,这是一个棘手的壮举 仅使用 NumPy 即可完成。 这些列中的每一个可能都有一个唯一的名称,一个字符串来标识它们包含的信息。 也许可以将其视为变量。 有了这个对象,我们可以轻松,有效地存储,访问和操纵我们的数据。 +可以将数据帧视为具有公共索引的多个系列的公共长度,它们在单个表格对象中绑定在一起。 该对象类似于 NumPy 2D `ndarray`,但不是同一件事。 并非所有列都必须具有相同的数据类型。 回到城市示例,我们可以有一个包含人口的列,另一个包含该城市所在州或省的信息,还有一个包含布尔值的列,用于标识城市是州还是省的首都,仅使用 NumPy 来完成是一个棘手的壮举。 这些列中的每一个可能都有一个唯一的名称,一个字符串来标识它们包含的信息。 也许可以将其视为变量。 有了这个对象,我们可以轻松,有效地存储,访问和操纵我们的数据。 在下面的笔记本中,我们将预览可以使用序列和数据帧进行的操作: diff --git a/docs/handson-data-analysis-numpy-pandas/5.md b/docs/handson-data-analysis-numpy-pandas/5.md index b5eaa4c5bf9819cb33dd2d77ec702afe1bc0091c..506c680f38eb30f9483388324e4bc1d184251af9 100644 --- a/docs/handson-data-analysis-numpy-pandas/5.md +++ b/docs/handson-data-analysis-numpy-pandas/5.md @@ -10,7 +10,7 @@ ![](img/1aeacb3c-603c-4ed2-9c3c-fa28e1475e16.png) -`srs1`的索引从 0 到 4,而`srs2`的索引从 0 到 3,先跳过 4,然后再到 5。从技术上讲,这两个序列的长度是相同的,但是长度并不相同 必然意味着这些元素将按照您的预期进行匹配。 例如,让我们考虑以下代码。 当我们添加`srs1`和`srs2`时会发生什么? +`srs1`的索引从 0 到 4,而`srs2`的索引从 0 到 3,先跳过 4,然后再到 5。从技术上讲,这两个序列的长度是相同的,但是并不意味着这些元素将按照您的预期进行匹配。 例如,让我们考虑以下代码。 当我们添加`srs1`和`srs2`时会发生什么? ![](img/df0aba8d-49b9-405b-9348-dd6e2c3bbc92.png) @@ -176,7 +176,7 @@ DataFrame 之间的算术与序列或 NumPy 数组算术具有某些相似之处 # 删除缺失的信息 -系列和数据帧的`dropna`可用于创建对象的副本,其中删除了丢失的信息行。 默认情况下,它将删除缺少任何数据的行,并且与系列一起使用时,它将使用 NaN 消除元素。 如果要适当完成此操作,请将`inplace`参数 设置为`true`。 +系列和数据帧的`dropna`可用于创建对象的副本,其中删除了丢失的信息行。 默认情况下,它将删除缺少任何数据的行,并且与系列一起使用时,它将使用 NaN 消除元素。 如果要适当完成此操作,请将`inplace`参数设置为`true`。 如果我们只想删除仅包含缺少信息的行,因此不删除任何使用信息,则可以将 how 参数设置为全部。 默认情况下,此方法适用于行,但如果要更改其适用于列,则可以将 access 参数设置为 1。 diff --git a/docs/handson-data-analysis-numpy-pandas/6.md b/docs/handson-data-analysis-numpy-pandas/6.md index cec7e02d325ab2232818393a512f02ea1377edc9..98d6148d69a528fb0830e8bf770321e6d007b366 100644 --- a/docs/handson-data-analysis-numpy-pandas/6.md +++ b/docs/handson-data-analysis-numpy-pandas/6.md @@ -122,7 +122,7 @@ # 绘图方法 -关键的 pandas 对象,系列和数据帧提供了一种绘图方法,简称为 plot。 它可以轻松地创建 图表,例如折线图,散点图,条形图或所谓的核密度估计图(用于了解数据的形状) , 等等。 可以创建许多图。 我们可以通过将`plot`中的 kind 参数设置为字符串来控制所需的绘图,以指示所需的绘图。 通常,这会产生一些带有通常选择的默认参数的图。 通过在 plot 方法中指定其他参数,我们可以更好地控制最终输出,然后将这些参数传递给 Matplotlib。 因此,我们可以控制诸如标签,绘图样式,*x* 限制,*y* 限制,不透明度和其他详细信息之类的问题。 +关键的 pandas 对象,系列和数据帧提供了一种绘图方法,简称为 plot。 它可以轻松地创建图表,例如折线图,散点图,条形图或所谓的核密度估计图(用于了解数据的形状) , 等等。 可以创建许多图。 我们可以通过将`plot`中的 kind 参数设置为字符串来控制所需的绘图,以指示所需的绘图。 通常,这会产生一些带有通常选择的默认参数的图。 通过在 plot 方法中指定其他参数,我们可以更好地控制最终输出,然后将这些参数传递给 Matplotlib。 因此,我们可以控制诸如标签,绘图样式,*x* 限制,*y* 限制,不透明度和其他详细信息之类的问题。 存在用于创建不同图的其他方法。 例如,系列有一个称为 hist 的方法来创建直方图。