例如,具有在表格的子元素的列表:[「毫米,DD,YYYY,HH,毫米」「值」]:聚合值或日
A = [
['09,02,2011,09,34' 'apple'],
['09,05,2011,10,20' 'juice'],
['06,04,2012,09,38' 'juice'],
['06,04,2012,09,38' 'juice'],
['06,04,2012,09,40' 'apple'],
['06,04,2012,09,40' 'juice'],
['06,04,2012,09,42' 'green'],
['06,04,2012,23,08' 'juice'],
['06,04,2012,23,10' 'juice'],
['06,04,2012,23,10' 'ferrari'],
['07,03,2012,20,12' 'juice'],
['07,07,2012,21,03' 'people'],
['07,07,2012,21,04' 'juice'],
['07,07,2012,21,04' 'people'],
['07,07,2012,21,04' 'lime'],
['08,16,2012,08,55' 'juice'],
['08,16,2012,08,55' 'juice'],
['08,16,2012,08,55' 'lime'],
['08,16,2012,08,55' 'lime'],
['08,16,2012,08,56' 'juice'],
['08,16,2012,08,57' 'juice'],
['08,16,2012,08,57' 'andy'],
['01,16,2013,03,20' 'people'],
['02,10,2013,04,59' 'lime']
]
我尋找一個可靠的聚合策略,可以使用月份(1-12)和年份(max_year到min_year)和月份天數(0-30)來彙總這些值。更確切的說明,每個值的列表中的子元素:
所以,如果聚合類型爲一年,那麼:
out = [
{
'name': 'value1_name',
'series': [['min_year', 'count']...['max_year', 'count']]
},
{
'name': 'value2_name',
'series':[['min_year', 'count']...['max_year', 'count']]
}, ...
]
如果聚合類型是一個月,那麼:
out = [
{
'name': 'value1_name',
'series': [['01', 'count']...['12', 'count']]
},
{
'name': 'value2_name',
'series':[['02', 'count']...['12', 'count']]
}, ...
]
而如果聚合類型設置爲天,那麼:
out = [
{
'name': 'value1_name',
'series': [['01', 'count']...['30', 'count']]
},
{
'name': 'value2_name',
'series':[['01', 'count']...['30', 'count']]
}, ...
]
在此ISSU整個疼痛對我而言,填寫缺失各自聚合類型的月份,日期或年份值。所以,舉例來說,如果聚合類型是一年,我聚集所有的「果汁」的價值觀,然後:
out = [
{
'name': 'juice',
'series': [['2011', '1'],['2012', '11'],['2013', '0']]
},..
和同樣是月和天值的問題。關鍵是所有的價值觀('蘋果','果汁'等)應該有一系列具有相同的長度,這意味着如果'法拉利'在2011年和2013年不存在,那麼它的系列應該有''2011' ,'0']和['2013','0']。同樣,如果「法拉利」不,除了六月(「06」)的任何一個月中存在,那麼它的系列應該是這樣的:
'series': [
['01', '0'],
['02', '0'],
['03', '0'],
['04', '0'],
['05', '0'],
['06', '1'],
['07', '0'],
['08', '0'],
['09', '0'],
['10', '0'],
['11', '0'],
['12', '0']
]
..和同是天的情況下..
我可以在這裏完成的最佳策略是什麼?非常感謝。
好吧,你似乎有一個相當完整的問題描述。你有沒有試過爲此編寫代碼並卡住?如果是這樣,發佈代碼,並告訴我們爲什麼你卡住了。如果沒有,請繼續編碼! – Brionius
這就是我正在做的:-)但如果有更好的例子,那麼...... – user2480542
這可能有助於從一個更好的數據結構開始 - 例如'[09,02,2011, 09,34,'apple']'而不是'['09,02,2011,09,34''apple']'(特別是因爲把兩個串並排放在一起就像連接它們一樣)。然後,您可以通過任何索引進行排序,分組等,只需一個簡單的理解。 – abarnert