matlab现有一个表格其记录了一年365天的AOD数据有site_id站点号Date日期和AOD三个字段现要将表格进行重新整理使得每个站点的AOD数据单独成为一列且与其他站点的AOD数据并排长度都为365不使用pivot函数
你可以使用循环遍历的方法来实现这个需求。以下是一个示例代码:
% 假设你的原始表格名为data,新表格名为newData
% 假设site_id有N个不同的站点
% 获取所有不同的站点号
site_ids = unique(data.site_id);
% 创建新表格
newData = table();
% 遍历每个站点
for i = 1:length(site_ids)
site_id = site_ids(i);
% 获取当前站点的AOD数据
site_data = data(data.site_id == site_id, :);
% 创建新列并填充数据
new_col = site_data.AOD;
new_col = padarray(new_col, 365 - length(new_col), NaN, 'post');
% 将新列添加到新表格中
newData = [newData, table(new_col)];
end
% 为新表格添加站点号列
newData.site_id = site_ids;
这样,新表格newData的每一列都是一个站点的AOD数据,并且长度都为365
原文地址: https://www.cveoy.top/t/topic/iqfa 著作权归作者所有。请勿转载和采集!