【发布时间】:2019-04-19 19:11:36
【问题描述】:
df:
Time Name X Y
0 00 AA 0 0
1 30 BB 1 1
2 45 CC 2 2
3 60 GG:AB 3 3
4 90 GG:AC 4 4
5 120 AA 5 3
dataGroup = df.groupby
([pd.Grouper(key=Time,freq='30s'),'Name'])).sort_values(by=['Timestamp'],ascending=True)
我已尝试在行上执行 diff(),但它返回 NaN 或未预期的内容。
df.groupby('Name', sort=False)['X'].diff()
我如何保持分组和时间排序,以及在一行和它的前一行之间做差异(对于 X 和 Y 列)
预期输出: XDiff 将是 AA 组, XDiff 第 1 行 =(X 第 1 行 - 原点(已知)) XDiff 第 2 行 = (X row2 - X row1)
Time Name X Y XDiff YDiff
0 00 AA 0 0 0 0
5 120 AA 5 3 5 3
1 30 BB 1 1 0 0
6 55 BB 2 3 1 2
2 45 CC 2 2 0 0
3 60 GG:AB 3 3 0 0
4 90 GG:AC 4 4 0 0
很高兴看到每个组的总距离(即 AA 为 5,BB 为 1) 在我的示例中,每个组只有几行,但如果有 100 行,diff 将为我提供任意两个之间的距离值,而不是该组的总距离。
【问题讨论】:
-
你能发布预期的输出吗?
-
你能解释一下“总距离”是什么意思吗?
标签: pandas dataframe pandas-groupby