python - 任意步长的点周围的平均值
问题描述
大家。我有一个包含大约 500 万行的 pandas DataFrame,其中一列包含有关电信号的信息。我想通过向前和向后一步计算每个点周围的平均值,例如,对于索引为 10 的点,计算 (8, 9, 11, 12) 之间的平均值。
我知道有一种滚动方法,但它只从这一点开始取值。我不想写一个循环。
解决方案
您可以通过将方法中的center
参数设置为 来实现。正如文件所说:pandas.DataFrame.rolling()
True
默认情况下,结果设置在窗口的右边缘。可以通过设置 center=True 将其更改为窗口的中心。
这是一个简单的例子:
>>> serie = pd.Series(range(15))
>>> print(serie.rolling(5, center=True).mean())
0 NaN
1 NaN
2 2.0
3 3.0
4 4.0
5 5.0
6 6.0
7 7.0
8 8.0
9 9.0
10 10.0
11 11.0
12 12.0
13 NaN
14 NaN
推荐阅读
- sql-server - 从 SQL Server ColumnStore 中删除会出现“无法插入重复键”错误
- android - 尝试在我的 Android 应用项目中添加电话身份验证时出现错误
- reactjs - 保持舞台的纵横比
- command - 了解 InDataExchange 命令的工作原理
- mongodb - 使用 go 驱动在 MongoDB 中运行命令
- wordpress - WP_Query 显示我在参数中设置的所有帖子
- react-native-web - 使用 React Native Web 检测组件外部的点击?
- python-3.x - 通过模拟获取应用的函数输入数据框
- python - 无法在服务器上安装 TensorFlow 2.2.0
- android - 是否可以通过导航组件深层链接传递 Parcelable 对象?