鬼ิϖ 2021-09-14 20:41 采纳率: 87.5%
浏览 44
已结题

用MATLAB如何把一天内的不同商品的价格求平均值 ?

| 日期 商品代码 价格
2021\9\14 9:21:00 1010 100070
2021\9\14 10:30:00 1010 100120
2021\9\14 12:22:00 1010 100078
2021\9\14 13:10:00 1010 100130
2021\9\14 15:28:00 1010 100210
2021\9\14 16:30:00 1010 100310
2021\9\15 9:41:00 1010 100710
2021\9\15 10:32:00 1010 100725
2021\9\15 12:28:00 1010 100778
2021\9\15 13:07:00 1010 100745
2021\9\15 15:28:00 1010 100719
2021\9\15 9:41:00 1011 100711
2021\9\15 10:32:00 1011 100729
2021\9\15 12:28:00 1011 100788
2021\9\15 13:07:00 1011 100756
2021\9\15 15:28:00 1011 100729
2021\9\16 9:21:00 1010 100745
2021\9\16 10:30:00 1010 100719
2021\9\16 12:22:00 1010 100711
2021\9\16 13:10:00 1010 100729
2021\9\16 15:28:00 1010 100788
2021\9\16 16:30:00 1010 100756
2021\9\16 17:34:00 1010 100725

数据就是这种情况 我想知道如何使用MATLAB把每一天的不同商品的平均价格根据日期和商品代码求出来输出到一个表格中
如果手动处理 我自己的数据量太大根本处理不完想知道怎样用代码得出结果。

  • 写回答

1条回答 默认 最新

  • 技术专家团-Joel 2021-09-14 21:28
    关注

    你好!
    我把你的这个数据保存成为a.csv文件,格式如下

    日期 商品代码 价格
    2021\9\14 9:21:00 1010 100070
    2021\9\14 10:30:00 1010 100120
    2021\9\14 12:22:00 1010 100078
    2021\9\14 13:10:00 1010 100130
    2021\9\14 15:28:00 1010 100210
    2021\9\14 16:30:00 1010 100310
    2021\9\15 9:41:00 1010 100710
    2021\9\15 10:32:00 1010 100725
    2021\9\15 12:28:00 1010 100778
    2021\9\15 13:07:00 1010 100745
    2021\9\15 15:28:00 1010 100719
    2021\9\15 9:41:00 1011 100711
    2021\9\15 10:32:00 1011 100729
    2021\9\15 12:28:00 1011 100788
    2021\9\15 13:07:00 1011 100756
    2021\9\15 15:28:00 1011 100729
    2021\9\16 9:21:00 1010 100745
    2021\9\16 10:30:00 1010 100719
    2021\9\16 12:22:00 1010 100711
    2021\9\16 13:10:00 1010 100729
    2021\9\16 15:28:00 1010 100788
    2021\9\16 16:30:00 1010 100756
    2021\9\16 17:34:00 1010 100725
    

    然后用matlab读入并处理,代码并详细解释如下

    clc;clear
    T = readtable('a.csv','PreserveVariableNames',0);% 读入csv文件,忽略表头
    Date = datetime(T{:,1},'inputformat','yyyy\MM\dd');%转化第一列为日期
    % Time = retime(T{:,2});
    Tags = T{:,3};%第三列为标签
    Price = T{:,4};%第四列为价格
    Q = timetable(Date, Tags, Price);% 形成新的时间表格
    UniTags = unique(Tags);%将标签形成集合
    TotalSummary = timetable();%构建新表
    for i = 1:1:numel(UniTags)
        q = Q.('Tags')==UniTags(i);
        eQ = Q(q,:);
        eQ = retime(eQ,'daily','mean');%计算每日均价
        TotalSummary = [TotalSummary; eQ];%统计汇总到新表
    end
    TotalSummary = renamevars(TotalSummary, 'Price','averagePrice');%重新命名价格为均价
    writetable(TotalSummary,'newtable.xlsx')%输出到xlsx表格
    

    最后可以得到日均价格表为

    TotalSummary =
    
      4×2 timetable
    
           Date       Tags    averagePrice
        __________    ____    ____________
    
        2021-09-14    1010        100153  
        2021-09-15    1010      100735.4  
        2021-09-16    1010        100739  
        2021-09-15    1011      100742.6  
    

    可见已经成功求得每一天的不同商品的平均价格根据日期和商品代码

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

报告相同问题?

问题事件

  • 系统已结题 9月23日
  • 已采纳回答 9月15日
  • 创建了问题 9月14日

悬赏问题

  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献