求助:带Timestamp的不同时间间隔跨表格数据集对齐比较方法
对齐不同时间间隔Timestamp数据集的可行方案
一、Excel/Google Sheets 操作方案
用匹配函数快速对齐
假设1秒间隔的数据集在Sheet1的A列(Timestamp)、B列(数据),2秒间隔的在Sheet2的A列(Timestamp)、B列(数据)。在Sheet1新增一列(比如C列),输入公式:=XLOOKUP(A2, Sheet2!A:A, Sheet2!B:B, "无匹配")
下拉填充后,Sheet1每一行都会对应Sheet2中相同时间戳的数据,没匹配到的会显示“无匹配”,直接就能对比同时间点的两组值。
旧版Excel用VLOOKUP:=VLOOKUP(A2, Sheet2!A:B, 2, FALSE)
注意:先把两边的Timestamp格式统一成一样的(比如yyyy-mm-dd hh:mm:ss),避免格式不兼容导致匹配失败。Power Query批量合并(适合大数据量)
- 依次把两个数据集导入Power Query(数据>获取数据>自文件>自工作簿)
- 确认两个查询里的Timestamp列都是日期/时间类型
- 选中其中一个查询,点「合并查询」,选择另一个查询,匹配列选Timestamp,连接类型选「仅匹配的行」(要保留所有1秒数据就选「左外部」)
- 把合并后的数据加载到新工作表,就能直接看到对齐后的完整数据集,比手动操作快N倍。
二、Python 脚本方案(超大数据量首选)
如果数据量达到几十万甚至百万级,用代码自动化处理更高效,示例用pandas库:
import pandas as pd # 读取两个表格 df_1s = pd.read_excel("1秒间隔数据集.xlsx") df_2s = pd.read_excel("2秒间隔数据集.xlsx") # 统一Timestamp格式为datetime类型 df_1s["Timestamp"] = pd.to_datetime(df_1s["Timestamp"]) df_2s["Timestamp"] = pd.to_datetime(df_2s["Timestamp"]) # 按Timestamp合并,只保留两边都有的时间点 merged_df = pd.merge(df_1s, df_2s, on="Timestamp", how="inner", suffixes=("_1s", "_2s")) # 保存对齐后的结果 merged_df.to_excel("对齐后数据集.xlsx", index=False)
运行脚本后,生成的新表格里就是所有时间戳匹配的行,直接对比对应列的数据就行。要是想保留所有1秒的时间点(包括2秒数据集没有的),把how="inner"改成how="left"。
内容的提问来源于stack exchange,提问作者Sujith
相关产品推荐
相关产品推荐

