小时候可黑了OwO 2021-09-24 21:35 采纳率: 100%
浏览 31
已结题

请问很多带有NaN的数组求平均怎么处理呢

我用的是卫星数据的日数据,现在要计算一个月的平均,但是日数据里面有很多值带有NaN。比如点1,第一天有数值,第二天是NaN...这样的数据计算月平均听说需要nanmean,但是我help不出这个函数,是需要下载什么工具箱吗,或者有什么其他的方法处理这个平均数据吗

  • 写回答

1条回答 默认 最新

  • 技术专家团-Joel 2021-09-24 22:11
    关注

    你好同学,像这种日数据月平均的话,建议使用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 
    

    可见效果非常不错

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月2日
  • 已采纳回答 9月24日
  • 创建了问题 9月24日