熊猫MultiIndex Dataframe滚动平均值分组

n

我想计算第二层数据帧分组的滚动平均值(以下代码示例中的Key2)。

import pandas as pd
d = {'Key1':[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6], 'Key2':[2,7,8,5,3,2,7,5,8,7,2,9,8,3,9,2,7,9],'Value':[1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3]}
df = pd.DataFrame(d)
df = df.set_index(['Key1', 'Key2'])
df['MA'] = (df.groupby('Key2')['Value']
                .rolling(window=3)
                .mean()
                .reset_index(level=0, drop=True))

print(df)

预期产量:

           Value        MA
Key1 Key2                 
1    2         1       NaN
     7         2       NaN
     8         3       NaN
2    5         1       NaN
     3         2       NaN
     2         3       NaN
3    7         1       NaN
     5         2       NaN
     8         3       NaN
4    7         1  1.333333
     2         2  2.000000
     9         3       NaN
5    8         1  2.333333
     3         2       NaN
     9         3       NaN
6    2         1  2.000000
     7         2  1.333333
     9         3  3.000000

但是实际输出是NaN。作业似乎有问题。实际输出:

           Value        MA
Key1 Key2                 
1    2         1       NaN
     7         2       NaN
     8         3       NaN
2    5         1       NaN
     3         2       NaN
     2         3       NaN
3    7         1       NaN
     5         2       NaN
     8         3       NaN
4    7         1      NaN
     2         2       NaN
     9         3       NaN
5    8         1      NaN
     3         2       NaN
     9         3       NaN
6    2         1      NaN
     7         2       NaN
     9         3       NaN

Python 3.8 +熊猫1.2.1。(也尝试使用Python 3.7.9 + Pandas 1.1.5)

耶斯列尔

使用lambda函数来避免丢失MultiIndex,因此分配工作正常:

df['MA'] = df.groupby('Key2')['Value'].apply(lambda x: x.rolling(window=3).mean())
print(df)
           Value        MA
Key1 Key2                 
1    2         1       NaN
     7         2       NaN
     8         3       NaN
2    5         1       NaN
     3         2       NaN
     2         3       NaN
3    7         1       NaN
     5         2       NaN
     8         3       NaN
4    7         1  1.333333
     2         2  2.000000
     9         3       NaN
5    8         1  2.333333
     3         2       NaN
     9         3       NaN
6    2         1  2.000000
     7         2  1.333333
     9         3  3.000000

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

熊猫:如何计算分组平均值

来自分类Dev

大熊猫:时间间隔滚动平均值加上索引分组

来自分类Dev

在分组的条形图中绘制熊猫DataFrame中不同条目数的平均值

来自分类Dev

按列分组并获取分组熊猫的平均值

来自分类Dev

熊猫multiIndex DataFrame排序

来自分类Dev

查找熊猫数据框分组行的平均值

来自分类Dev

熊猫用给定分组的平均值替换nan

来自分类Dev

分组并计算平均值并计算熊猫的大小

来自分类Dev

计算熊猫的连续滚动平均值作为数组函数?

来自分类Dev

熊猫-按组/子组执行滚动平均值

来自分类Dev

如何在熊猫中获得连续的滚动平均值?

来自分类Dev

熊猫的Groupby,Shif和滚动平均值

来自分类Dev

计算每组熊猫df的滚动平均值

来自分类Dev

使用熊猫确定滚动平均值是增加还是减少

来自分类Dev

熊猫找到每小时滚动平均值

来自分类Dev

使用MultiIndex值的熊猫分组

来自分类Dev

将熊猫DataFrame与MultiIndex合并

来自分类Dev

分组滚动平均值

来自分类Dev

熊猫窗口平均值

来自分类Dev

熊猫数据框中的MultiIndex分组依据

来自分类Dev

熊猫数据框:按两列分组,然后对另一列取平均值

来自分类Dev

如何计算在熊猫中另一列上分组的平均值

来自分类Dev

通过分组计算熊猫数据框架上的累积移动平均值

来自分类Dev

在熊猫中使用值之前和之后的平均值分组并填充NaN

来自分类Dev

按年份分组和其他列,并根据特定条件的熊猫计算平均值

来自分类Dev

编写函数进行分组,并计算平均值并计算熊猫的大小

来自分类Dev

熊猫:从多个分组依据中获取先前日期时间的平均值

来自分类Dev

熊猫分组多个列根据条件取另一列的平均值

来自分类Dev

按熊猫分组求和和平均值并制作数据框

Related 相关文章

  1. 1

    熊猫:如何计算分组平均值

  2. 2

    大熊猫:时间间隔滚动平均值加上索引分组

  3. 3

    在分组的条形图中绘制熊猫DataFrame中不同条目数的平均值

  4. 4

    按列分组并获取分组熊猫的平均值

  5. 5

    熊猫multiIndex DataFrame排序

  6. 6

    查找熊猫数据框分组行的平均值

  7. 7

    熊猫用给定分组的平均值替换nan

  8. 8

    分组并计算平均值并计算熊猫的大小

  9. 9

    计算熊猫的连续滚动平均值作为数组函数?

  10. 10

    熊猫-按组/子组执行滚动平均值

  11. 11

    如何在熊猫中获得连续的滚动平均值?

  12. 12

    熊猫的Groupby,Shif和滚动平均值

  13. 13

    计算每组熊猫df的滚动平均值

  14. 14

    使用熊猫确定滚动平均值是增加还是减少

  15. 15

    熊猫找到每小时滚动平均值

  16. 16

    使用MultiIndex值的熊猫分组

  17. 17

    将熊猫DataFrame与MultiIndex合并

  18. 18

    分组滚动平均值

  19. 19

    熊猫窗口平均值

  20. 20

    熊猫数据框中的MultiIndex分组依据

  21. 21

    熊猫数据框:按两列分组,然后对另一列取平均值

  22. 22

    如何计算在熊猫中另一列上分组的平均值

  23. 23

    通过分组计算熊猫数据框架上的累积移动平均值

  24. 24

    在熊猫中使用值之前和之后的平均值分组并填充NaN

  25. 25

    按年份分组和其他列,并根据特定条件的熊猫计算平均值

  26. 26

    编写函数进行分组,并计算平均值并计算熊猫的大小

  27. 27

    熊猫:从多个分组依据中获取先前日期时间的平均值

  28. 28

    熊猫分组多个列根据条件取另一列的平均值

  29. 29

    按熊猫分组求和和平均值并制作数据框

热门标签

归档