【问题标题】:group then compute delta on a dataframe [duplicate]组然后计算数据帧上的增量[重复]
【发布时间】:2018-08-16 23:36:42
【问题描述】:

我正在使用 pandas 处理数据集(参见下面的示例),其中 ttu 是时间戳(分别以秒和微秒为单位的纪元)。 brbw 是采样时间的累积值。我想执行两个操作:

  • 基于AB 的分组(可能有很多)
  • 对于每个组,我想计算brbw 的增量,例如br[n] - br[n-1]

我很难弄清楚这一点,感谢任何帮助。

 # data as dictionary

 data = {0: {'group': 'A', 't': 1532973555, 'tu': 319007, 'br': 28, 'bw': 32},
 1: {'group': 'B', 't': 1532973555, 'tu': 319638, 'br': 100, 'bw': 200},
 2: {'group': 'A', 't': 1532973999, 'tu': 320594, 'br': 75, 'bw': 86},
 3: {'group': 'B', 't': 1532973999, 'tu': 320652, 'br': 300, 'bw': 500}}

# read into dataframe

df = pd.DataFrame.from_dict(data, orient="index")

【问题讨论】:

  • df.groupby('group').br.diff()

标签: pandas


【解决方案1】:

要计算数据帧中的差异,您可以使用diff 方法。在你的情况下,它会是这样的:

df.groupby('group')['br'].diff() 

0      NaN
1      NaN
2     47.0
3    200.0
Name: br, dtype: float64

【讨论】:

  • 有没有办法保存群组信息?即#2(47)输出来自A组,#3(200)来自B组......如果要对差异执行额外的步骤,这似乎是必要的。谢谢
  • 如果您将以此方式创建的系列分配给数据框的新列,它将被附加,以便您保留数据框中的所有信息。
猜你喜欢
  • 1970-01-01
  • 2021-01-29
  • 1970-01-01
  • 2016-02-02
  • 2015-09-25
  • 1970-01-01
  • 2020-07-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多