加速 pandas 操作

Beginner

This tutorial is from open-source community. Access the source code

简介

本实验将指导你学习使用 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 中练习更多实验来提升你的技能。