简介
本实验将指导你学习使用 Cython、Numba 和 pandas.eval() 来加速对 pandas DataFrame 的操作。在处理大型数据集时,这些技术可以显著提高速度。
虚拟机使用提示
虚拟机启动完成后,点击左上角切换到“笔记本”标签页,以访问 Jupyter Notebook 进行练习。
有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作的验证无法自动化。
如果你在学习过程中遇到问题,随时向 Labby 提问。课程结束后提供反馈,我们会立即为你解决问题。
设置并创建示例数据
在开始之前,让我们导入必要的模块并创建一个示例 DataFrame。
## 导入必要的模块
import pandas as pd
import numpy as np
## 创建一个示例 DataFrame
df = pd.DataFrame(
{
"a": np.random.randn(1000),
"b": np.random.randn(1000),
"N": np.random.randint(100, 1000, (1000)),
"x": "x",
}
)
df
实现纯 Python 函数
我们将首先创建一个纯 Python 函数,该函数按行对 DataFrame 进行操作。
## 定义一个函数
def f(x):
return x * (x - 1)
## 定义另一个使用第一个函数的函数
def integrate_f(a, b, N):
s = 0
dx = (b - a) / N
for i in range(N):
s += f(a + i * dx)
return s * dx
总结
恭喜你!你已经完成了“加速 pandas 操作”实验。你可以在 LabEx 中练习更多实验来提升你的技能。