如何将时间序列拆分为分钟并在pandas中分配值?



我完全被这个练习卡住了,不知道如何继续。

我有

形式的数据
ID / From / To / Value
12 / 1.1.2021 7:50 / 1.1.2021 8:20 / 50
13 / 1.1.2021 8:00 / 1.1.2021 8:03 / 100
14 / 1.1.2021 9:12 / 1.1.2021 9:30 / 12

我需要将所有时间序列分成分钟,并找出每分钟的值之和,因此,我应该得到类似

的内容
1.1.2021 7:59 50
1.1.2021 8:00 150
1.1.2021 8:01 150
....
1.1.2021 8:03 150
1.1.2021 8:04 50
...
1.1.2021 8:21 0
...
1.1.2021 9:12 12

我不知道如何开始。

你能帮帮我吗?

谢谢。

zuzana

我想可能是这样使用applypd_date_range

df_new = (df.set_index(['ID','Value'])
.apply(lambda x: pd.date_range(x['From'], x['To'],freq='min'), axis=1)
.explode().rename('date').reset_index().groupby('date')['Value'].sum())
date
2021-01-01 07:50:00     50
2021-01-01 07:51:00     50
2021-01-01 07:52:00     50
2021-01-01 07:53:00     50
2021-01-01 07:54:00     50
2021-01-01 07:55:00     50
2021-01-01 07:56:00     50
2021-01-01 07:57:00     50
2021-01-01 07:58:00     50
2021-01-01 07:59:00     50
2021-01-01 08:00:00    150
2021-01-01 08:01:00    150
....

最新更新