我的能量数据超过2500万行和3列,数据看起来像
[米Id日期+时间负载 1000 19506 .5 1000 19501 .5 。 。 。 1001 19500 .6 。 。 。 。 。 。 1999 19509 .4 。 。 。 1999 73048 .4]
我需要对这些数据进行分类,使得对于每个仪表ID,即1000-1999(所有1000米),我得到按时间序列排列的负载。时间码的前三位数表示日,而后两位数字的范围为0-48,每半小时显示24小时。我可以根据仪表ID对数据进行排序,但不按时间顺序排列。我正在努力寻找一种解决方案来找到一种技术来自动排列数据,使其呈现出类似的东西;
米ID 1000 [19501 19502 .......................... 73048 .5 1.5 ............................ 2.5] 等等所有仪表ID。 使用过滤器很容易在excel中解决,但是考虑到数据量,excel无法打开此文件。 任何建议。
答案 0 :(得分:0)
使用matlab sortrows
函数。
data = [ 1000 19506 .5;
1999 73048 .4;
1000 19501 .5;
1999 19509 .4;
1001 19500 .6 ];
datSorted = sortrows(data, [ 1 2 ]); % sort by column 1 (meterID) then column 2 (Date+time)