Python:查找具有相同日期的值并计算差异

时间:2016-12-09 10:31:37

标签: python pandas

我正在努力解决这个问题,我相信必须有一个直接的解决方案。

我有一个包含日期和值的数据框。基本上,我想看到同一日期的值的差异。我知道如何总结它们,但我怎么能看到它们之间的差异?那么如何创建专栏"差异"?像这样:

DateTime            Values          Difference
06/12/2016 00:00    58              25
06/12/2016 00:15    75              63
06/12/2016 00:30    66              -79
06/12/2016 00:45    23              11
06/12/2016 01:00    17              -537
06/12/2016 00:00    33  
06/12/2016 00:15    12  
06/12/2016 00:30    145 
06/12/2016 00:45    12  
06/12/2016 01:00    55


filename = path + "Forecast.csv"
test = pd.read_csv(filename)
df2 = test.groupby('DateTime')['Values'].sum()

有没有办法计算差异而不是总和?

感谢您的支持!

此致

O Vizzle

1 个答案:

答案 0 :(得分:2)

我必须先排序

df.set_index('DateTime').sort_index().groupby(level=0).diff(-1).dropna()

enter image description here

准确匹配您所拥有的

df.join(
    df.sort_values('DateTime').groupby('DateTime') \
      .diff(-1).dropna().rename(columns={'Values': 'Difference'})
).fillna('')

enter image description here