提交 e481a1fa 编写于 作者: W wizardforcel

2021-01-01 16:01:22

上级 d30d3a08
......@@ -264,7 +264,7 @@ b one 0.281746
Name: data2, dtype: float64
```
##通过字典或`Series`进行分组
## 通过字典或`Series`进行分组
除数组以外,分组信息还可以其他形式存在。来看另一个示例`DataFrame`
```python
In [35]: people = pd.DataFrame(np.random.randn(5, 5),
......@@ -327,7 +327,7 @@ Jim 2 3
Travis 2 3
```
##通过函数进行分组
## 通过函数进行分组
比起使用字典或`Series`,使用 Python 函数是一种更原生的方法定义分组映射。任何被当做分组键的函数都会在各个索引值上被调用一次,其返回值就会被用作分组名称。具体点说,以上一小节的示例`DataFrame`为例,其索引值为人的名字。你可以计算一个字符串长度的数组,更简单的方法是传入 len 函数:
```python
In [44]: people.groupby(len).sum()
......
......@@ -1552,7 +1552,7 @@ Out[219]:
此外,也可以通过调用结果对象的 shift 方法来实现该目的,这样就不需要设置 loffset 了。
##OHLC 重采样
## OHLC 重采样
金融领域中有一种无所不在的时间序列聚合方式,即计算各面元的四个值:第一个值(open,开盘)、最后一个值(close,收盘)、最大值(high,最高)以及最小值(low,最低)。传入 how='ohlc'即可得到一个含有这四种聚合值的`DataFrame`。整个过程很高效,只需一次扫描即可计算出结果:
```python
......@@ -1564,7 +1564,7 @@ Out[220]:
2000-01-01 00:10:00 10 11 10 11
```
##升采样和插值
## 升采样和插值
在将数据从低频率转换到高频率时,就不需要聚合了。我们来看一个带有一些周型数据的`DataFrame`
```python
......
......@@ -4,7 +4,7 @@
案例数据集可以在 Github 仓库找到,见第一章。
#14.1 来自 Bitly 的 USA.gov 数据
# 14.1 来自 Bitly 的 USA.gov 数据
2011 年,URL 缩短服务 Bitly 跟美国政府网站 USA.gov 合作,提供了一份从生成.gov 或.mil 短链接的用户那里收集来的匿名数据。在 2011 年,除实时数据之外,还可以下载文本文件形式的每小时快照。写作此书时(2017 年),这项服务已经关闭,但我们保存一份数据用于本书的案例。
......@@ -52,7 +52,7 @@ Chrome/17.0.963.78 Safari/535.11',
'u': 'http://www.ncbi.nlm.nih.gov/pubmed/22415991'}
```
##用纯 Python 代码对时区进行计数
## 用纯 Python 代码对时区进行计数
假设我们想要知道该数据集中最常出现的是哪个时区(即 tz 字段),得到答案的办法有很多。首先,我们用列表推导式取出一组时区:
```python
......@@ -1903,7 +1903,7 @@ DE 0.802776 0.197224
FL 0.467417 0.532583
```
#14.6 总结
# 14.6 总结
我们已经完成了正文的最后一章。附录中有一些额外的内容,可能对你有用。
......
......@@ -1196,7 +1196,7 @@ Out[174]:
2 8.0 9.0 10.0 11.0 0
```
##`DataFrame`和`Series`之间的运算
## `DataFrame`和`Series`之间的运算
跟不同维度的 NumPy 数组一样,`DataFrame``Series`之间算术运算也是有明确规定的。先来看一个具有启发性的例子,计算一个二维数组与其某行之间的差:
```python
In [175]: arr = np.arange(12.).reshape((3, 4))
......
......@@ -291,7 +291,7 @@ pandas 对象中的数据可以通过一些方式进行合并:
我将分别对它们进行讲解,并给出一些例子。本书剩余部分的示例中将经常用到它们。
##数据库风格的`DataFrame`合并
## 数据库风格的`DataFrame`合并
数据集的合并(merge)或连接(join)运算是通过一个或多个键将行连接起来的。这些运算是关系型数据库(基于 SQL)的核心。pandas 的`merge`函数是对数据应用这些算法的主要切入点。
......@@ -1415,6 +1415,6 @@ Out[166]:
8 B 6
```
#8.4 总结
# 8.4 总结
现在你已经掌握了 pandas 数据导入、清洗、重塑,我们可以进一步学习 matplotlib 数据可视化。我们在稍后会回到 pandas,学习更高级的分析。
......@@ -648,7 +648,7 @@ In [107]: sns.pairplot(trans_data, diag_kind='kde', plot_kws={'alpha': 0.2})
你可能注意到了 plot_kws 参数。它可以让我们传递配置选项到非对角线元素上的图形使用。对于更详细的配置选项,可以查阅 seaborn.pairplot 文档字符串。
##分面网格(facet grid)和类型数据
## 分面网格(facet grid)和类型数据
要是数据集有额外的分组维度呢?有多个分类变量的数据可视化的一种方法是使用小面网格。seaborn 有一个有用的内置函数 factorplot,可以简化制作多种分面图(见图 9-26):
```python
In [108]: sns.factorplot(x='day', y='tip_pct', hue='time', col='smoker',
......
......@@ -1102,7 +1102,7 @@ Out[212]:
dtype: float64
```
#A.7 用 Numba 编写快速 NumPy 函数
# A.7 用 Numba 编写快速 NumPy 函数
Numba 是一个开源项目,它可以利用 CPUs、GPUs 或其它硬件为类似 NumPy 的数据创建快速函数。它使用了 LLVM 项目(http://llvm.org/),将 Python 代码转换为机器代码。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册