Pandas 中的窗口操作

PythonPythonBeginner
立即练习

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

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本实验中,我们将探索pandas中的窗口操作,包括滚动窗口、扩展窗口和指数加权窗口。窗口操作对于在值的滑动分区上执行聚合非常有用。

虚拟机提示

虚拟机启动完成后,点击左上角切换到“笔记本”标签,以访问Jupyter Notebook进行练习。

有时,你可能需要等待几秒钟让Jupyter Notebook完成加载。由于Jupyter Notebook的限制,操作的验证无法自动化。

如果你在学习过程中遇到问题,请随时向Labby提问。课程结束后提供反馈,我们将立即为你解决问题。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) pandas(("Pandas")) -.-> pandas/DataAnalysisGroup(["Data Analysis"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) pandas(("Pandas")) -.-> pandas/AdvancedOperationsGroup(["Advanced Operations"]) python(("Python")) -.-> python/FileHandlingGroup(["File Handling"]) python/BasicConceptsGroup -.-> python/comments("Comments") python/ControlFlowGroup -.-> python/for_loops("For Loops") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") pandas/DataAnalysisGroup -.-> pandas/basic_statistics("Basic Statistics") pandas/AdvancedOperationsGroup -.-> pandas/time_series_analysis("Time Series Analysis") python/FileHandlingGroup -.-> python/with_statement("Using with Statement") python/DataScienceandMachineLearningGroup -.-> python/numerical_computing("Numerical Computing") python/DataScienceandMachineLearningGroup -.-> python/data_analysis("Data Analysis") subgraph Lab Skills python/comments -.-> lab-65457{{"Pandas 中的窗口操作"}} python/for_loops -.-> lab-65457{{"Pandas 中的窗口操作"}} python/build_in_functions -.-> lab-65457{{"Pandas 中的窗口操作"}} python/importing_modules -.-> lab-65457{{"Pandas 中的窗口操作"}} pandas/basic_statistics -.-> lab-65457{{"Pandas 中的窗口操作"}} pandas/time_series_analysis -.-> lab-65457{{"Pandas 中的窗口操作"}} python/with_statement -.-> lab-65457{{"Pandas 中的窗口操作"}} python/numerical_computing -.-> lab-65457{{"Pandas 中的窗口操作"}} python/data_analysis -.-> lab-65457{{"Pandas 中的窗口操作"}} end

创建一个 Pandas 序列

我们创建一个包含从 0 到 4 的一系列值的 Pandas 序列。

import pandas as pd

## 创建一个包含从 0 到 4 的一系列值的 Pandas 序列
s = pd.Series(range(5))

执行滚动窗口操作

执行窗口大小为 2 的滚动窗口操作,然后计算每个窗口的总和。

## 执行窗口大小为 2 的滚动窗口操作并计算每个窗口的总和
s.rolling(window=2).sum()

执行扩展窗口操作

执行扩展窗口操作,然后计算每个窗口的总和。

## 执行扩展窗口操作并计算每个窗口的总和
s.expanding(min_periods=1).sum()

执行指数加权窗口操作

执行指数加权窗口操作,然后计算每个窗口的均值。

## 执行指数加权窗口操作并计算每个窗口的均值
s.ewm(span=3).mean()

总结

在本实验中,我们使用pandas执行了各种窗口操作,包括滚动窗口、扩展窗口和指数加权窗口。这些操作对于在值的滑动分区上执行聚合非常有用。