从单元格中找到独特的月-年组合
Find unique month-year combinations from cells
我有一个元胞数组 Date
,其中包含日期(日-月-年)。
我想为每个单元格找到独特的月份和年份组合。
日期时间格式如下所示
'20-Oct-2013 00:00:00'
'20-Oct-2013 03:00:00'
'20-Oct-2013 06:00:00'
'20-Oct-2013 09:00:00'
'20-Oct-2013 12:00:00'
'20-Oct-2013 15:00:00'
'20-Oct-2013 18:00:00'
'20-Oct-2013 21:00:00'
'21-Oct-2013 00:00:00'
简化示例
cell1:
1-1-2001
2-1-2001
2-5-1191
5-6-2000
9-8-2000
cell2:
7-8-2008
8-8-2008
16-8-2008
9-6-2009
我希望我的输出是
cell1:
1-2001
5-1191
6-2000
8-2000
cell2:
8-2008
6-2009
我目前使用的代码是
for i = 1:lenNF %76 cells
unique([month(Date{i});year(Date{i})])
end
这给了我以下输出,这使得无法确定哪个月属于哪一年。
1
2
3
4
5
9
10
11
12
2010
2011
我需要在我的代码中进行哪些调整才能确保我仍然知道哪个月份属于哪一年?
您可以在两列结构中为每个单元格创建一个仅包含日-月的数组。然后是对 unique(array,'rows')
的简单调用,其中 'rows'
选项确保在您独特的日-月组合中找到独特的行。
您可以通过在每个单元格上调用 array=datevec()
来构建数组,然后 unique(array(:,1:2))
就可以了,因为第一列包含年份,第二列包含月份。
我有一个元胞数组 Date
,其中包含日期(日-月-年)。
我想为每个单元格找到独特的月份和年份组合。
日期时间格式如下所示
'20-Oct-2013 00:00:00'
'20-Oct-2013 03:00:00'
'20-Oct-2013 06:00:00'
'20-Oct-2013 09:00:00'
'20-Oct-2013 12:00:00'
'20-Oct-2013 15:00:00'
'20-Oct-2013 18:00:00'
'20-Oct-2013 21:00:00'
'21-Oct-2013 00:00:00'
简化示例
cell1:
1-1-2001
2-1-2001
2-5-1191
5-6-2000
9-8-2000
cell2:
7-8-2008
8-8-2008
16-8-2008
9-6-2009
我希望我的输出是
cell1:
1-2001
5-1191
6-2000
8-2000
cell2:
8-2008
6-2009
我目前使用的代码是
for i = 1:lenNF %76 cells
unique([month(Date{i});year(Date{i})])
end
这给了我以下输出,这使得无法确定哪个月属于哪一年。
1
2
3
4
5
9
10
11
12
2010
2011
我需要在我的代码中进行哪些调整才能确保我仍然知道哪个月份属于哪一年?
您可以在两列结构中为每个单元格创建一个仅包含日-月的数组。然后是对 unique(array,'rows')
的简单调用,其中 'rows'
选项确保在您独特的日-月组合中找到独特的行。
您可以通过在每个单元格上调用 array=datevec()
来构建数组,然后 unique(array(:,1:2))
就可以了,因为第一列包含年份,第二列包含月份。