0

我的数据表有 19 列,第一列都以毫秒为单位填充时间戳:
18491
18591
18691
...

在时间戳列中,时间会随机从+100增量变为+50增量:
20291
20341
20391
20441
...

然后再回来,多次。

其他列具有以不同频率分布的不同数据值,例如 1 Hz、5Hz、10Hz,值之间有 double.NaN。

将这些列平均为 1Hz 数据的最佳方法是什么,同时忽略 NaN 单元并创建一个只有 1Hz 数据且没有空白的新数据表?
IE:

来自:
时间Col1中col2的COL3 COL4 COL5
18491 4.0 2.2 NaN的1.0的NaN
18591楠楠1.0 1.0 NaN
的18691的NaN 3.2的NaN 2.0的NaN
18791的NaN楠楠3.0的NaN
18891的NaN 4.4的NaN 1.0的NaN
18991的NaN楠楠4.0的NaN
19091的NaN 1.4 6.0 4.0的NaN
19191的NaN楠楠3.0的NaN
19291的NaN 3.2的NaN 2.0的NaN
19341楠楠楠楠2.0
19391的NaN楠楠3.0的NaN
19441 6.0 3.4楠楠1.0
19491的NaN楠楠2.0的NaN
19541楠楠楠楠3.0
19591楠楠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# 和数据表还是新手,所以提前谢谢大家!

4

1 回答 1

0
With Rounded as
(
   Select ROUND(SomeColumn, -3) as RoundedToThousands From SomeTable
)
Select RoundedToThousands, Count(*) from Rounded 
Group By RoundedToThousands

您将需要修改舍入逻辑以符合您对如何决定 491 与 441 作为舍入数的要求。可能是地板而不是圆形的某种组合,然后是 + 491。

于 2013-01-17T23:09:11.790 回答