我的数据集就像,
日期时间产品值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)
感谢您的帮助!
答案 0 :(得分:0)
您的date
和time
似乎是两列字符串。如果是这种情况,我会创建一个时间戳列然后过滤。最后,您可以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])