Pandas:transform计算滚动平均

简介: Pandas:transform计算滚动平均

接上篇,我们来用一个示例来再次见识一下transform的强大功能。这个transform方法的使用示例展示了它在处理时间序列数据时的便利和强大功能,特别是在需要保留原始数据结构的情况下。 一个计算滚动平均的简单示例:设想我们有一个时间序列数据集,包含日期和相应的值:


import pandas as pd# 创建一个日期范围dates = pd.date_range(start='2023-01-01', periods=10, freq='D')# 创建一个DataFramedf = pd.DataFrame({    'date': dates,    'value': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]})

386e5925668b3f87fd9d5006b9fd437d.png

我们想要计算每个值的3天滚动平均值。我们可以这样使用 transform方法:


# 设置窗口大小为3window_size = 3# 计算滚动平均df['rolling_mean'] = df['value'].transform(lambda x: x.rolling(window=window_size).mean())

在这个例子中,transform方法应用了一个 lambda 函数,该函数对原始的 value 列使用 rolling 方法,并且设置窗口大小为3以计算滚动平均。然后将结果赋值给新的一列 rolling_mean。

计算完成后,df将包含如下所示的数据:   请注意,由于我们设置的滚动窗口大小为3,所以前两个滚动平均值是 NaN,因为没有足够的数据来计算一个完整的3天平均

相关文章
|
3月前
|
索引 Python
使用 pandas 对数据进行移动计算
使用 pandas 对数据进行移动计算
27 0
|
3月前
|
数据采集 机器学习/深度学习 数据挖掘
Pandas中的变形大师:transform方法
Pandas中的变形大师:transform方法
40 0
|
4月前
|
Python
掌握pandas中的transform
掌握pandas中的transform
|
5月前
|
SQL 并行计算 API
Dask是一个用于并行计算的Python库,它提供了类似于Pandas和NumPy的API,但能够在大型数据集上进行并行计算。
Dask是一个用于并行计算的Python库,它提供了类似于Pandas和NumPy的API,但能够在大型数据集上进行并行计算。
|
6月前
|
Python
pandas中groupby和shift结合实现相邻行的计算
pandas中groupby和shift结合实现相邻行的计算
114 0
|
7月前
|
数据可视化 Python
如何在Pandas中对数据集进行多级分组并进行聚合计算?
在Pandas中进行多级分组与聚合计算的步骤包括导入库(如pandas和matplotlib),准备数据集,使用`groupby()`方法分组,应用聚合函数(如`sum()`、`mean()`)及可视化结果。
89 11
|
Python
python计算的效率问题-pandas、numpy结合代替遍历pandas数据
python计算的效率问题-pandas、numpy结合代替遍历pandas数据
120 0
python计算的效率问题-pandas、numpy结合代替遍历pandas数据
|
测试技术 索引 Python
Pandas的apply, map, transform介绍和性能测试
在这篇文章中,我们将通过一些示例讨论apply、agg、map和transform的预期用途。
274 0
Pandas的apply, map, transform介绍和性能测试
量化交易系列【1】常用的Pandas数据统计及计算相关函数
量化交易系列【1】常用的Pandas数据统计及计算相关函数
量化交易系列【1】常用的Pandas数据统计及计算相关函数
|
数据挖掘 索引 Python
数据分析工具Pandas(6):Pandas统计计算和描述
数据分析工具Pandas(6):Pandas统计计算和描述
135 0
数据分析工具Pandas(6):Pandas统计计算和描述