提交 4450be59 编写于 作者: W wizardforcel

7.15

上级 dee930c4
......@@ -8,7 +8,7 @@
>
> 本节是[《Python 数据科学手册》](https://github.com/jakevdp/PythonDataScienceHandbook)(Python Data Science Handbook)的摘录。
我们在前面的章节中已经看到,PyData 技术栈的力量,建立在 NumPy 和 Pandas 通过直观语法,将基本操作推送到 C 的能力的基础上:例如 NumPy 中的下你给量化/广播操作,以及 Pandas 的分组类型操作。虽然这些抽象对于许多常见用例是高效且有效的,但它们通常依赖于临时中间对象的创建,这可能产生计算时间和内存使用的开销。
我们在前面的章节中已经看到,PyData 技术栈的力量,建立在 NumPy 和 Pandas 通过直观语法,将基本操作推送到 C 的能力的基础上:例如 NumPy 中的量化/广播操作,以及 Pandas 的分组类型操作。虽然这些抽象对于许多常见用例是高效且有效的,但它们通常依赖于临时中间对象的创建,这可能产生计算时间和内存使用的开销。
从版本 0.13(2014 年 1 月发布)开始,Pandas 包含一些实验性工具,允许你直接访问速度和 C 一样的操作,而无需昂贵的中间数组分配。这些是``eval()````query()``函数,它依赖于 [Numexpr](https://github.com/pydata/numexpr) 包。在这个笔记本中,我们将逐步介绍它们的使用方法,并提供一些何时可以考虑使用它们的经验法则。
......@@ -253,7 +253,7 @@ df.head()
### `DataFrame.eval()`中的局部变量
``DataFrame.eval()``方法支持一种额外的语法,可以使用 Python 局部变量。考虑以下:
``DataFrame.eval()``方法支持一种额外的语法,可以使用 Python 局部变量。考虑以下:
```py
column_mean = df.mean(1)
......@@ -315,7 +315,7 @@ tmp3 = tmp1 & tmp2
x = df[tmp3]
```
如果临时``DataFrame`的大小与可用的系统内存(通常是几千兆字节)相比很大,那么使用``eval()``或``query()``表达式是个好主意。你可以使用以下方法检查数组的大致大小(以字节为单位):
如果临时`DataFrame`的大小与可用的系统内存(通常是几千兆字节)相比很大,那么使用``eval()````query()``表达式是个好主意。你可以使用以下方法检查数组的大致大小(以字节为单位):
```py
df.values.nbytes
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册