python - 在熊猫数据框中添加缺少的时间戳
问题描述
我正在努力将丢失的时间戳添加到数据框中。
我当前的输出是:
start_Local_round end_Local_round alarmId
2020-09-01 00:30:00+00:00 2020-09-01 01:50:00+00:00 15568
2020-09-01 00:30:00+00:00 2020-09-01 02:50:00+00:00 2560
2020-09-01 02:20:00+00:00 2020-09-01 02:30:00+00:00 155698
我需要类似的东西:
start_Local_round end_Local_round alarmId
2020-09-01 00:30:00+00:00 2020-09-01 01:50:00+00:00 15568
2020-09-01 00:30:00+00:00 2020-09-01 02:50:00+00:00 2560
2020-09-01 00:40:00+00:00 2020-09-01 01:50:00+00:00 15568
2020-09-01 00:40:00+00:00 2020-09-01 02:50:00+00:00 2560
2020-09-01 00:50:00+00:00 2020-09-01 01:50:00+00:00 15568
2020-09-01 00:50:00+00:00 2020-09-01 02:50:00+00:00 2560
2020-09-01 01:00:00+00:00 2020-09-01 01:50:00+00:00 15568
2020-09-01 01:00:00+00:00 2020-09-01 02:50:00+00:00 2560
2020-09-01 01:10:00+00:00 2020-09-01 01:50:00+00:00 15568
2020-09-01 01:10:00+00:00 2020-09-01 02:50:00+00:00 2560
2020-09-01 01:20:00+00:00 2020-09-01 01:50:00+00:00 15568
2020-09-01 01:20:00+00:00 2020-09-01 02:50:00+00:00 2560
2020-09-01 01:30:00+00:00 2020-09-01 01:50:00+00:00 15568
2020-09-01 01:30:00+00:00 2020-09-01 02:50:00+00:00 2560
2020-09-01 01:40:00+00:00 2020-09-01 01:50:00+00:00 15568
2020-09-01 01:40:00+00:00 2020-09-01 02:50:00+00:00 2560
2020-09-01 01:50:00+00:00 2020-09-01 01:50:00+00:00 15568
2020-09-01 01:50:00+00:00 2020-09-01 02:50:00+00:00 2560
2020-09-01 02:00:00+00:00 2020-09-01 02:50:00+00:00 2560
2020-09-01 02:10:00+00:00 2020-09-01 02:50:00+00:00 2560
2020-09-01 02:20:00+00:00 2020-09-01 02:30:00+00:00 155698
2020-09-01 02:20:00+00:00 2020-09-01 02:50:00+00:00 2560
2020-09-01 02:30:00+00:00 2020-09-01 02:30:00+00:00 155698
2020-09-01 02:30:00+00:00 2020-09-01 02:50:00+00:00 2560
2020-09-01 02:40:00+00:00 2020-09-01 02:50:00+00:00 2560
2020-09-01 02:50:00+00:00 2020-09-01 02:50:00+00:00 2560
2020-09-01 03:00:00+00:00
2020-09-01 03:10:00+00:00
2020-09-01 03:20:00+00:00
目的是将其与另一个具有 10 分钟数据时间戳的数据帧合并
我厌倦了创建一个包含该时期所有数据点的数据框
#création des points 10'
def datetime_range(start, end, delta):
current = start
while current < end:
yield current
current += delta
min_date = df.start_Local.min().round('10min')
max_date = df.start_Local.max().round('10min')
dts = [dt.strftime('%Y-%m-%d %H:%M:%S') for dt in datetime_range(min_date, max_date, timedelta(minutes=10))]
但我无法将它与我的原始数据合并。
你有什么想法可以帮助我吗?
谢谢 !!
解决方案
感觉答案是:
new_df = df.set_index('Start').resample("10min").first().reset_index().reindex(columns=df.columns)
推荐阅读
- python - HoughLinesP 使用轨迹栏
- regex - 使用正则表达式设置状态
- microsoft-graph-api - 频繁的 504 网关超时
- javascript - Json 不会通过 ajax 使用 api 对对象进行字符串化
- python - 在一行中创建列表字典的字典
- html - CSS 全高侧边栏
- flutter - Flutter:ScrollController initialScrollOffset 不起作用
- spring - spring kafka 嵌入式代理 - 我的实际听众永远不会被触发
- sql - 如何对 Big Query 表进行去重和修改?
- composer-php - 在 Prestashop 模块 1.7.6 中添加命令(控制台命令)