Pandas重新取样,填充限制发生变化

时间:2017-09-18 10:29:49

标签: python pandas dataframe series

我有一个包含所有生产作业的机器协议。我还有来自这台机器的能量数据。我希望在特定时间内有分钟值,因此我可以分析机器的负载和能耗。

机器协议:

start_time_rounded  product_number  product_description total_quantity  quantity_per_minute start_time  end_time    duration    duration_minutes
2016-01-01 19:35:00 1   product A   35690.0 16222.727   2016-01-01 19:35:08 2016-01-01 19:37:20 0 days 00:02:12 2.2
2016-01-01 19:40:00 2   product B   64418.0 12840.797   2016-01-01 19:40:06 2016-01-01 19:45:07 0 days 00:05:01 5.017

我想拥有以下数据框:

time    product_number  product_description quantity_per_minute
2016-01-01 19:35:00 1   product A   16222.727
2016-01-01 19:36:00 1   product A   16222.727
2016-01-01 19:37:00 1   product A   16222.727
2016-01-01 19:38:00 NaN NaN NaN
2016-01-01 19:39:00 NaN NaN NaN
2016-01-01 19:40:00 2   product B   12840.797
2016-01-01 19:41:00 2   product B   12840.797
2016-01-01 19:42:00 2   product B   12840.797
2016-01-01 19:43:00 2   product B   12840.797
2016-01-01 19:44:00 2   product B   12840.797
2016-01-01 19:45:00 2   product B   12840.797

我设法有一个持续时间值的数据框,我已将正确的产品添加到正确的时间戳。我被困在如何将信息添加到下一个时间戳。

我尝试使用DataFrame.ffill函数,但它也填补了机器中没有产品的空白。

我试过了:

df = df.resample('min').ffill(limit=df['duration_minutes']

但我收到错误,因为限制必须是整数。

重新索引完成:

df = df.reindex(pd.date_range(start='01.01.2016 00:00:00', end='31.12.2016 23:59:00', freq='min'))

如何将持续时间值作为限制使用.ffill()函数?提前谢谢!

0 个答案:

没有答案