提交 6b825d3a 编写于 作者: W wizardforcel

2020-07-18 23:27:03

上级 e86b655f
......@@ -2,7 +2,7 @@
欢迎来到《精通 Pandas》。 本书将教您如何有效使用 pandas,pandas 是当今用于执行数据分析的最受欢迎的 Python 软件包之一。 本书的前半部分从进行数据分析的原理开始。 然后,它特别介绍了 Python 和 pandas,引导您完成安装步骤,pandas 的全部内容,pandas 的用途,pandas 中的数据结构以及如何在 pandas 中选择,合并和分组数据。 然后介绍处理缺失的数据和时间序列数据,以及为数据可视化作图。
本书的下半部分将向您展示如何使用 pandas 通过经典方法和贝叶斯方法进行推理统计,随后是有关 pandas 体系结构的一章,然后以机器学习的旋风为结尾,其中介绍了 scikit-learn 库。 本书的目的是通过使用真实数据集上的说明性示例,使您沉迷于 Pandas。
本书的下半部分将向您展示如何使用 pandas 通过经典方法和贝叶斯方法进行推理统计,随后是有关 pandas 构的一章,然后以机器学习的旋风为结尾,其中介绍了 scikit-learn 库。 本书的目的是通过使用真实数据集上的说明性示例,使您沉迷于 Pandas。
# 本书涵盖的内容
......@@ -22,7 +22,7 @@
第 8 章,“贝叶斯统计简介”讨论了执行统计分析的另一种方法,称为贝叶斯分析。 本章介绍贝叶斯统计,并讨论基本的数学框架。 它检查了贝叶斯分析中使用的各种概率分布,并展示了如何使用 matplotlib 和`scipy.stats`生成和可视化它们。 它还介绍了用于执行蒙特卡洛模拟的 PyMC 库,并提供了使用在线数据进行贝叶斯推理的真实示例。
第 9 章,“Pandas 库体系结构”提供了有关 Pandas 基本代码的相当详细的描述。 它详细介绍了 Pandas 库代码的组织方式,并描述了组成 Pandas 的各种模块,并提供了一些详细信息。 它还有一部分向用户展示如何使用扩展来改善 Python 和 Pandas 的性能。
第 9 章,“Pandas 库构”提供了有关 Pandas 基本代码的相当详细的描述。 它详细介绍了 Pandas 库代码的组织方式,并描述了组成 Pandas 的各种模块,并提供了一些详细信息。 它还有一部分向用户展示如何使用扩展来改善 Python 和 Pandas 的性能。
第 10 章,“R 和 Pandas 比较”着重比较 Pandas 与 R,这是许多 Pandas 功能的基础统计软件包。 本章比较了 R 数据类型及其对应的 pandas,并说明了两种库中各种操作的比较方式。 比较了切片,选择,算术运算,聚合,分组,匹配,拆分应用合并和熔化等操作。
......
......@@ -274,10 +274,10 @@ pandas 库是 Python 语言的一部分,因此我们现在可以继续安装 p
| 包 | 是否必需 | 描述 | 下载位置 |
| --- | --- | --- | --- |
| `NumPy : 1.6.1 or higher` | 必需 | 用于数值运算的 NumPy 库 | <http://www.numpy.org/> |
| `python-dateutil 1.5` | 必需 | 日期操作和实用程序库 | <http://labix.org/> |
| `python-dateutil 1.5` | 必需 | 日期操作和工具库 | <http://labix.org/> |
| `Pytz` | 必需 | 时区支持 | <http://sourceforge.net/> |
| `numexpr` | 可选,推荐 | 加快数值运算 | <https://code.google.com/> |
| `bottleneck` | 可选,推荐 | 绩效相关 | <http://berkeleyanalytics.com/> |
| `bottleneck` | 可选,推荐 | 性能相关 | <http://berkeleyanalytics.com/> |
| `Cython` | 可选,推荐 | 用于优化的 Python C 扩展 | <http://cython.org/> |
| `SciPy` | 可选,推荐 | 适用于 Python 的科学工具集 | <http://scipy.org/> |
| `PyTables` | 可选 | 基于 HDF5 的存储库 | <http://pytables.github.io/> |
......@@ -543,7 +543,7 @@ pip install ipython pyzmq tornado pygments
```
`pyzmq`,`tornado`和`pygments`模块是获得 IPython Notebook 的完整图形功能所必需的。 有关更多信息,请参见标题为[*为 OSX 设置 IPython 笔记本和 Pandas*](http://bit.ly/1JG0wKA) 的文档。
`pyzmq`,`tornado`和`pygments`模块是获得 IPython 笔记本的完整图形功能所必需的。 有关更多信息,请参见标题为[*为 OSX 设置 IPython 笔记本和 Pandas*](http://bit.ly/1JG0wKA) 的文档。
## 通过 Anaconda 安装(对于 Linux/MacOSX)
......
......@@ -85,7 +85,7 @@ Out[13]:array([ 0., 0.22222222, 0.44444444, 0.66666667])
### 各种其他函数和 NumPy 数组
这些功能包括`numpy.zeros``numpy.ones``numpy.eye``nrandom.rand``numpy.random.randn``numpy.empty`
这些函数包括`numpy.zeros``numpy.ones``numpy.eye``nrandom.rand``numpy.random.randn``numpy.empty`
在每种情况下,该参数都必须是一个元组。 对于一维数组,您只需指定元素数,而无需元组。
......@@ -1425,7 +1425,7 @@ Out[540]: currency
* `DataFrame.from_dict`:它使用字典或序列的字典并返回数据帧。
* `DataFrame.from_records`:需要一个元组或结构化`ndarray`的列表。
* `DataFrame.from_items`:需要一些(键,值)对。 键是列或索引名,值是列或行值。 如果希望键为行索引名,则必须指定`orient ='index'`作为参数并指定列名。
* `pandas.io.parsers.read_csv`:这是一个辅助功能,可将 CSV 文件读取到 Pandas 数据帧结构中。
* `pandas.io.parsers.read_csv`:这是一个辅助函数,可将 CSV 文件读取到 Pandas 数据帧结构中。
* `pandas.io.parsers.read_table`:这是一个辅助函数,它将定界文件读入 Pandas 数据帧结构。
* `pandas.io.parsers.read_fwf`:这是一个辅助函数,它将固定宽度的线表读入 Pandas 数据帧结构。
......
......@@ -284,7 +284,7 @@ Out[683]: 2013-Q4 106.7
* `.iloc`运算符:它允许基于整数的索引
* `.ix`运算符:它允许混合基于标签和整数的索引
现在,我们将注意力转向这些操作员
现在,我们将注意力转向这些运算符
## 面向标签的索引
......
# 五、Pandas 的操作,第二部分 -- 数据的分组,合并和重塑
在本章中,我们解决了在数据结构中重新排列数据的问题。 我们研究了各种功能,这些功能使我们能够通过在实际数据集上利用它们来重新排列数据。 这样的功能包括`groupby``concat``aggregate``append`等。 我们将讨论的主题如下:
在本章中,我们解决了在数据结构中重新排列数据的问题。 我们研究了各种函数,这些函数使我们能够通过在实际数据集上利用它们来重新排列数据。 这样的函数包括`groupby``concat``aggregate``append`等。 我们将讨论的主题如下:
* 数据聚合/分组
* 合并和连接数据
......@@ -88,7 +88,7 @@ Out[100]: Nation
```
`size()`函数返回一个序列,该序列以组名称作为索引,每个组的大小。 `size()`函数也是聚合功能。 我们将在本章后面检查聚合函数。
`size()`函数返回一个序列,该序列以组名称作为索引,每个组的大小。 `size()`函数也是聚合函数。 我们将在本章后面检查聚合函数。
为了进一步按国家和俱乐部划分胜利,我们在应用`size()``sort()`之前应用多列`groupby`函数:
......@@ -557,7 +557,7 @@ Out[391]: EPL La Liga Serie A Bundesliga
# 合并和连接
有多种功能可用于合并和连接 Pandas 的数据结构,其中包括以下功能
有多种函数可用于合并和连接 Pandas 的数据结构,其中包括以下函数
* `concat`
* `append`
......@@ -1059,7 +1059,7 @@ Out[427]: group ctrl trt1 trt2
```
`pivot``pivot_table`函数之间的主要区别在于`pivot_table`允许用户指定一个聚合功能,可以在该功能上聚合值。 因此,例如,如果我们希望获得 10 个观测值中每个组的平均值,我们将执行以下操作,这将得出一个序列:
`pivot``pivot_table`函数之间的主要区别在于`pivot_table`允许用户指定一个聚合函数,可以在该函数上聚合值。 因此,例如,如果我们希望获得 10 个观测值中每个组的平均值,我们将执行以下操作,这将得出一个序列:
```py
In [430]: pd.pivot_table(plantGrowthRawDF,values='weight',cols=['group'],aggfunc=np.mean)
......@@ -1075,7 +1075,7 @@ Out[430]: group
## 堆叠
支点功能外,`stack``unstack`函数在序列和数据帧上也可用,它们可用于包含多重索引的对象。
`pivot`函数外,`stack``unstack`函数在序列和数据帧上也可用,它们可用于包含多重索引的对象。
### `stack()`函数
......
......@@ -497,7 +497,7 @@ Out[119]: TradeDate
```
在前面的代码片段中,我们指定了`freq`参数进行平移; 这告诉功能仅更改工作日。 `shift`函数具有`freq`参数,其值可以是`DateOffset`类,类似于`timedelta`的对象或偏移别名。 因此,使用`ibmTS.shift(3, freq='B')`也将产生相同的结果。
在前面的代码片段中,我们指定了`freq`参数进行平移; 这告诉函数仅更改工作日。 `shift`函数具有`freq`参数,其值可以是`DateOffset`类,类似于`timedelta`的对象或偏移别名。 因此,使用`ibmTS.shift(3, freq='B')`也将产生相同的结果。
### 更改频率
......@@ -958,7 +958,7 @@ The following is the output of the preceding command:
![Plotting using matplotlib](img/images_00009.jpeg)
在 Pandas 中使用`matplotlib`的绘图功能还有很多。 有关更多信息,请参阅[这个链接](http://pandas.pydata.org/pandas-docs/dev/visualization.html)中的文档。
在 Pandas 中使用`matplotlib`的绘图函数还有很多。 有关更多信息,请参阅[这个链接](http://pandas.pydata.org/pandas-docs/dev/visualization.html)中的文档。
# 总结
......
......@@ -724,7 +724,7 @@ In [108]: %matplotlib inline
![Bayesian analysis example – Switchpoint detection](img/images_00162.jpeg)
注意,上面 ![Bayesian analysis example – Switchpoint detection](img/images_00163.jpeg) 中指定的变量都是贝叶斯随机变量。 对于代表人们对其价值信念的贝叶斯随机变量,我们需要使用概率分布对它们进行建模。 我们想推断 ![Bayesian analysis example – Switchpoint detection](img/images_00160.jpeg) 和 ![Bayesian analysis example – Switchpoint detection](img/images_00161.jpeg) 的值,这些值是未知的。 在`PyMC`中,我们可以使用随机和确定性类表示随机变量。 我们注意到,指数分布是泊松事件之间的时间量。 因此,在 ![Bayesian analysis example – Switchpoint detection](img/images_00160.jpeg) 和 ![Bayesian analysis example – Switchpoint detection](img/images_00161.jpeg) 的情况下,我们选择指数分布来对其建模,因为它们可以是任何正数:
注意,上面 ![Bayesian analysis example – Switchpoint detection](img/images_00163.jpeg) 中指定的变量都是贝叶斯随机变量。 对于代表人们对其值的信念的贝叶斯随机变量,我们需要使用概率分布对它们进行建模。 我们想推断 ![Bayesian analysis example – Switchpoint detection](img/images_00160.jpeg) 和 ![Bayesian analysis example – Switchpoint detection](img/images_00161.jpeg) 的值,这些值是未知的。 在`PyMC`中,我们可以使用随机和确定性类表示随机变量。 我们注意到,指数分布是泊松事件之间的时间量。 因此,在 ![Bayesian analysis example – Switchpoint detection](img/images_00160.jpeg) 和 ![Bayesian analysis example – Switchpoint detection](img/images_00161.jpeg) 的情况下,我们选择指数分布来对其建模,因为它们可以是任何正数:
![Bayesian analysis example – Switchpoint detection](img/images_00164.jpeg)
......@@ -975,4 +975,4 @@ pymc 综合早期均值
我们研究了贝叶斯统计方法所需要的内容,并讨论了为什么贝叶斯观点是一种引人注目的观点的各种因素-事实胜于信念。 我们解释了关键的统计分布,并展示了如何使用各种统计软件包在`matplotlib`中生成和绘制它们。
我们解决了一个相当困难的话题,但又没有过多简化,并演示了如何使用 PyMC 软件包和蒙特卡洛模拟方法来展示贝叶斯统计数据的能力,以建立模型,进行趋势分析以及对真实数据集进行推断(Facebook 用户帖子)。 在下一章中,我们将讨论 Pandas 库的体系结构。
\ No newline at end of file
我们解决了一个相当困难的话题,但又没有过多简化,并演示了如何使用 PyMC 软件包和蒙特卡洛模拟方法来展示贝叶斯统计数据的能力,以建立模型,进行趋势分析以及对真实数据集进行推断(Facebook 用户帖子)。 在下一章中,我们将讨论 Pandas 库的架构。
\ No newline at end of file
此差异已折叠。
......@@ -8,6 +8,6 @@
+ [六、处理缺失数据,时间序列和 Matplotlib 绘图](6.md)
+ [七、统计之旅 -- 经典方法](7.md)
+ [八、贝叶斯统计简介](8.md)
+ [九、Pandas 库体系结](9.md)
+ [九、Pandas 库](9.md)
+ [十、R 与 Pandas 的比较](10.md)
+ [十一、机器学习简介](11.md)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册