python计算时间序列的最小值/最大值,标准值

时间:2016-02-02 03:10:18

标签: python pandas

我的数据集就像,

日期时间产品值1 value2 value3

2015-10-01 09:00:00.000 P1 1 2 3

2015-10-01 10:00:00.000 P1 2 3 4

2015-10-01 11:00:00.000 P1 5 6 7

2015-10-01 09:00:00.000 P2 1 2 3

2015-10-01 10:00:00.000 P2 2 3 4

2015-10-01 11:00:00.000 P2 5 6 7

...

...

2015-10-02 09:00:00.000 P1 1 2 3

2015-10-02 10:00:00.000 P1 2 3 4

2015-10-02 11:00:00.000 P1 5 6 7

2015-10-02 09:00:00.000 P2 1 2 3

2015-10-02 10:00:00.000 P2 2 3 4

2015-10-02 11:00:00.000 P2 5 6 7

有10种不同类型的产品。我们称之为P1,P2,P3,P4,.... P10
我想计算给定产品(比如P1)的最小/最大,平均值,标准值1/2 / 3 在一个日期时间范围内(比如2015-10-01 11:00:00.000到2015-10-02 10:00:00.000)

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您的datetime似乎是两列字符串。如果是这种情况,我会创建一个时间戳列然后过滤。最后,您可以groupby产品然后汇总。 (假设您的数据位于pandas数据框df中。np是numpy)

df['datetime'] = pd.DatetimeIndex(df['date'] + ' ' + df['time'])

print df[df['datetime'].between(pd.Timestamp('2015-10-01 11:00:00.000'),pd.Timestamp('2015-10-02 10:00:00.000'))].groupby(['product'])[['value1', 'value2', 'value3']].agg([min, max, np.mean, np.std])