【发布时间】:2013-01-01 14:51:43
【问题描述】:
我的数据表有 19 列,第一列都以毫秒为单位填充时间戳:
18491
18591
18691
...
在时间戳列中,时间会随机从+100增量变为+50增量:
20291
20341
20391
20441
...
然后再回来,多次。
其他列有不同的数据值,分布在不同的频率上,例如 1 Hz、5Hz、10Hz,值之间有 double.NaN。
将这些列平均为 1Hz 数据的最佳方法是什么,同时忽略 NaN 单元并创建一个只有 1Hz 数据且没有空白的新数据表?
即:
发件人:
时间 Col1 Col2 Col3 Col4 Col5
18491 4.0 2.2 NaN 1.0 NaN
18591 NaN NaN 1.0 1.0 NaN
18691 NaN 3.2 NaN 2.0 NaN
18791 NaN NaN NaN 3.0 NaN
18891 NaN 4.4 NaN 1.0 NaN
18991 NaN NaN NaN 4.0 NaN
19091 NaN 1.4 6.0 4.0 NaN
19191 NaN NaN NaN 3.0 NaN
19291 NaN 3.2 NaN 2.0 NaN
19341 NaN NaN NaN NaN 2.0
19391 NaN NaN NaN 3.0 NaN
19441 6.0 3.4 NaN NaN 1.0
19491 NaN NaN NaN 2.0 NaN
19541 NaN NaN NaN NaN 3.0
19591 NaN NaN 3.0 4.0 NaN
19641 NaN 5.2 NaN NaN 1.0
19691 NaN NaN NaN 2.0 NaN
19791 NaN NaN NaN 1.0 NaN
19891 NaN 4.1 NaN 0.0 NaN
19991 NaN NaN NaN 2.0 NaN
20091 NaN 2.2 4.0 1.0 NaN
20191 NaN NaN NaN 1.0 NaN
20291 NaN 5.1 NaN 1.0 NaN
20391 NaN NaN NaN 1.0 NaN
20491 5.0 3.3 NaN 2.0 NaN
收件人:
时间 Col1 Col2 Col3 Col4 Col5
18491 4.0 2.2 NaN 1.0 NaN
19491 6.0 3.21 3.5 2.5 1.5
20491 5.0 3.98 3.5 1.5 2.0
感谢任何帮助,我还是 C# 和数据表的新手,所以提前谢谢大家!
【问题讨论】:
-
为什么你的结果都四舍五入到 491?那是赫兹吗?
-
如果不是,那么您可能真正想要的是聚类算法,因为您四舍五入的结果会有所不同。
-
对,所有时间戳都以毫秒为单位,但数据是在这些特定时间记录的。这只是一个示例数据表,其他数据表具有不同的时间戳,以其他值结尾。真的,我认为它是 18.491、19.491 等。