根据以前的值将列添加到pandas数据框

巴他隆

我有一个数据框,其中有一个观察号,一个id和一个数字

Obs#   Id    Value
--------------------
1        1   5.643
2        1   7.345
3        2   0.567
4        2   1.456

我想计算一个新列,该列是特定ID的先前值的平均值

我正在尝试使用类似这样的东西,但是它只能获取以前的值:

df.groupby('Id')['Value'].apply(lambda x: x.shift(1) ...

我的问题是如何获取由ID过滤的先前值的范围,以便可以计算均值?

因此,基于此示例的新列应为

5.643
6.494
0.567
1.0115
用户名

看来,你想expanding,然后mean

df.groupby('Id').Value.expanding().mean()

Id
1.0  1    5.6430
     2    6.4940
2.0  3    0.5670
     4    1.0115
Name: Value, dtype: float64

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据现有列中的布尔值将列添加到pandas数据框

根据另一列的值将列添加到pandas数据框中

根据现有列的相邻值将列添加到Pandas数据框

根据单元格值将列添加到pandas数据框

根据不同数据框中的匹配值将摘要列添加到pandas数据框中

根据以前的值添加到列表

遍历一列并根据 PANDAS 数据框中另一列的值将值添加到列表

根据单个列中的值将值添加到数据框列

根据其他列中的值将列添加到数据框

根据多列的值将新列添加到数据框中

根据其他列的值将新列添加到数据框

根据其他列的值将列添加到数据框

根据现有列的分类值将列添加到数据框

根据其他列值将新列添加到数据框

根据R中现有列中的值将列添加到数据框

如何根据另一列的时间将列添加到pandas数据框

根据条件将列添加到数据框

根据条件将列添加到pyspark数据框

Pandas-根据与数据框中某些值匹配的序列索引,将序列中的值添加到数据框列

根据一列中的值将行添加到数据框中

根据值(时间戳)将列添加到数据框

R根据行值将索引列添加到数据框

根据特定的行值将列添加到数据框

根据特定的行值将列添加到数据框中(2)

根据行值将数据添加到csv列

根据dplyr中多个数据框中的值将列添加到数据框中

如何比较2个数据框列并根据结果将值添加到新数据框

根据来自另一个数据框的值将列添加到数据框

根据另一个数据框中的值将列添加到数据框中