我用的是卫星数据的日数据,现在要计算一个月的平均,但是日数据里面有很多值带有NaN。比如点1,第一天有数值,第二天是NaN...这样的数据计算月平均听说需要nanmean,但是我help不出这个函数,是需要下载什么工具箱吗,或者有什么其他的方法处理这个平均数据吗
你好同学,像这种日数据月平均的话,建议使用datetime数组,这样的话月平均就很简单啦,nan操作更是不晓得多方便!!!
比如你的数据是这样的
(复制粘贴存入data.csv文件)
Date, Data
2021/08/24, 10
2021/08/25, NaN
2021/09/24, 10
2021/09/25, NaN
2021/09/26, 8
2021/10/24, 10
2021/10/25, 6
2021/10/26, 8
然后读入文档:
T = readtable('data.csv', 'preservevariablenames', 1);
TT = table2timetable(T,'RowTimes','Date');
TT2 = retime(TT,'monthly',@(x)mean(x,'omitnan'))% 忽略NaN,进行平均
writetimetable(TT2,'meanTable.csv')
可以看看平均结果
TT2 =
3×1 timetable
Date Data
__________ ____
2021/08/01 10
2021/09/01 9
2021/10/01 8
可见效果非常不错