我想将下表 1(具有某些事件的时间序列,~2000 个数据点)和 2(具有持续时间和振幅数据的时间序列,~1,000,000 个数据点)合并到表 3 中:
1:
| 时间戳 | 事件 |
| 20:23:56:962 | 一个事件 |
| 20:24:14:964 | B事件 |
| ... | ... |
2:
时间[秒] | 振幅 |
| 0 | -0.000457764 |
| 0.0000625 | 0.0642700195 |
| ... | ... |
3:
| 时间戳 | 时间[秒] | 事件 | 振幅 |
| 20:23:56:962 | 0 | 一个事件 | -0.000457764 |
| 20:23:56:962 | 0.0000625 | | 0.0642700195 |
| 20:23:56:962 | 0.000125 | | 0.0927124023 |
| ... | ... | | ... |
| 20:24:14:964 | 18.002 | B事件 | -0.013092041 |
| ... | ... | ... | ... |
我将非常感谢你的帮助。
我不知道这是否有帮助,但这里有一个脚本将获取您的时间戳值(我假设您定义的时间戳列是字符列),并将它们转换为数字列。然后可以将新列与时间列进行比较以将数据放在一起。

names default to here(1);
// Create the sample data table
dtEvent = New Table( "Events",
Add Rows( 2 ),
New Column( "timestamp",
Character,
"Nominal",
Set Values( {"20:23:56:962", "20:24:14:964"} )
),
New Column( "event",
Character,
"Nominal",
Set Values( {"A event", "B event"} )
)
);
// put in a time delay so one can see the initial data table
wait(5);
// Create a numeric version of the timestamp data
dtEvent << New Column( "Numeric timestamp",
Format(
"Custom",
Formula(
Char( Hour( value ) ) || ":" || Char( Minute( value ) ) || ":" ||
Char( Floor( Second( value ) ) ) || ":" || Word(
2,
Char( Round( Second( value ), 3 ) ),
"."
)
),
20
),
formula(
Num( Word( 1, :timestamp, ":" ) ) * 3600 + Num( Word( 2, :timestamp, ":" ) ) * 60
+Num( Word( 3, :timestamp, ":" ) ) + Num( "." || Word( 4, :timestamp, ":" ) )
)
);抱歉,我说得不够清楚:我想通过将表 1 中的事件 A 与表 2 中的持续时间 0 相关联来同步这两个表。
因此,需要简单地将事件 A 的时间戳添加到表 2 中每一行的持续时间值,然后将每个后续事件与相应的“复合”时间戳相关联。
谢谢。 按照这条路径,我需要匹配列,但两个表中的时间格式不同:一个是不寻常的时间戳,包括毫秒 (hh:mm:ss:sss),另一个是以秒为单位的持续时间值(持续时间从某个时间戳开始,即事件)。
我的目标是为每个持续时间值集成一个带有时间戳的列。 我想避免将持续时间值舍入到毫秒,因为这会降低数据完整性,但我不确定如何处理包含微秒的奇数时间戳格式。 如果您有任何建议,我将不胜感激。