python - Pandas 将时间间隔与时间序列重叠
问题描述
我有一个 pandas 数据框,其中包含在某些点重叠的时间间隔(图 1)。我需要一个数据帧,它的时间序列从第一个 start_time 开始到最后一个 end_time 结束(图 2)。我必须以重叠的时间间隔总结 VIS 值。我想不通。我该怎么做?
解决方案
如果您粘贴数据而不是图像,我将能够对此进行测试。但这就是您可能想要考虑的方式。假设您的数据框称为 df。
df['start_time'] = pd.to_datetime(df['start_time']) # in case it's not datetime already
df.set_index('start_time', inplace=True)
new_dates = pd.date_range(start=min(df.index), end=max(df.end_time), freq='15Min')
new_df = df.reindex(new_dates, fill_value=np.nan)
只要 start_time 中没有重复项,这应该可以工作。如果有,那需要以其他方式处理。
重新采样是另一种可能性,但如果没有数据,很难说什么会起作用。
推荐阅读
- vue.js - 错误:GraphQL 错误:不能为不可为空的字段 Mutation.updateRendezvous 返回 null
- python - 如何返回实际图像而不是 sentinelhub py 卫星数据返回的数组
- paypal - Paypal:小计和采购总额不匹配
- mysql - 仅获取用户在 Laravel Eloquent 或 MySQL 中拥有成分的食谱
- flutter - 使用 Flutter Flame 翻转精灵
- javascript - 新的 Date() 函数和 moment() 不会检测以数字开头和结尾的字符的输入,例如 'abc 12' 作为无效日期
- html - 如何在所有浏览器中根据其高度在 flexbox 中获取项目以缩小其宽度?
- kubernetes - 如何从节点获取变量值到 POD?
- visual-studio-code - 如何隐藏/禁用 VSCode LiveShare“开始讨论”
- sql - 在 Amzon Redshift 中提取部分字符串