0
假设我有一个DataTable
名为a
像下面这样:只有通过一个数据集的四分位分析
|DateTimeSec|value|
|-----------|-----|
|14569980000|8 |
|14570050000|54 |
|14570900000|928 |
|14571250000|67 |
|14571260000|124 |
|14572230000|32 |
|14573980000|211 |
|14574120000|202 |
|-----------|-----|
我想要做的就是以某种方式只能改变,例如增加10只中的值基于上述value
列的四分位间距。这将导致只有54,67,124和202被改变。我想这样做,同时保持它的订购DateTimeSec
。
我想有这样的事情的:
首先,我想从我的数据库抓取数据表和value
排序,然后:
//grab the interquartile range
var sorted = a.AsEnumerable().Skip((int) (a.Rows.Count * 0.25)).Take((int) (a.Rows.Count * 0.50)).CopyToDataTable();
foreach (DataRow row in sorted)
{
row.ItemArray[1] += 10;
}
我的问题是什么,然后我做用这个四分位数据表,我有吗?有没有更优雅的解决方案?
更优雅?是。对表格进行排序。然后找到第25和第75百分位。您的四分位距范围> 0.25且<0.75。 – Kyle