You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Pandas合并排序时间序列并生成连续唯一时间序列的实现方案

解决方案

没问题,我来帮你实现这个时间序列处理需求。下面是完整的代码,每一步都附带注释说明:

import pandas as pd
import numpy as np

# 输入的两个时间序列
dates1 = pd.to_datetime(['2015-10-08 13:41:00', '2015-10-08 13:44:00', '2015-10-08 13:48:00', '2015-10-08 13:49:00'])
dates2 = pd.to_datetime(['2015-10-08 13:42:00','2015-10-08 13:44:00', '2015-10-08 13:45:00', '2015-10-08 13:50:00'])

# 1. 合并两个序列、去重并排序
combined_unique_dates = pd.concat([pd.Series(dates1), pd.Series(dates2)]).drop_duplicates().sort_values()

# 2. 确定连续序列的起止范围:从最早时间到最晚时间+1分钟
start_time = combined_unique_dates.min()
end_time = combined_unique_dates.max() + pd.Timedelta(minutes=1)

# 3. 生成连续分钟间隔的时间序列
continuous_time_series = pd.date_range(start=start_time, end=end_time, freq='T')

# 4. 转换为与预期输出一致的字符串列表格式
result = continuous_time_series.strftime('%Y-%m-%d %H:%M:%S').tolist()

# 输出结果
print(result)

代码步骤解释:

  • 合并去重排序:用pd.concat将两个datetime序列合并为一个Series,drop_duplicates()移除重复时间,sort_values()确保序列按时间顺序排列。
  • 确定时间范围:取合并后序列的最小时间作为起始点,最大时间加上1分钟作为终点,这样就能包含要求的「最晚时间后一分钟」。
  • 生成连续序列:pd.date_range是Pandas生成规则时间序列的工具,freq='T'指定按分钟间隔生成,自动填补原序列中缺失的时间点。
  • 格式转换:用strftime将datetime对象转为指定格式的字符串,再转成列表,完全匹配预期输出的格式。

运行这段代码后,你会得到完全符合预期的时间序列列表。

内容的提问来源于stack exchange,提问作者georgehere

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 21:49:08