たとえば、次の形式のサブ要素を持つリスト: ['mm,dd,yyyy,hh,mm' 'value']:
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']]
}, ...
]
私にとってこの問題の全体的な苦痛は、それぞれの集計タイプの欠落している月、日、または年の値を埋めることです。たとえば、集計タイプが年で、すべての「ジュース」値を集計している場合、次のようになります。
out = [
{
'name': 'juice',
'series': [['2011', '1'],['2012', '11'],['2013', '0']]
},..
同じことが月と日の値の問題です。重要なのは、すべての値 ('apple'、'juice' など) が同じ長さのシリーズを持つ必要があることです。つまり、2011 年と 2013 年に 'ferrari' が存在しない場合、そのシリーズは ['2011' になります。 , '0'] および ['2013', '0']. 同様に、'ferrari' が 6 月 ('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']
]
..そして同じことが日にも当てはまります..
ここで私ができる最善の戦略は何ですか? どうもありがとう。