Re: How can I totalize by month, by year?
- To: mathgroup at smc.vnet.net
- Subject: [mg111897] Re: How can I totalize by month, by year?
- From: Adriano Pascoletti <adriano.pascoletti at uniud.it>
- Date: Wed, 18 Aug 2010 07:04:30 -0400 (EDT)
In[1]:= data = {{{2010, 8, 3, 0, 0, 0.}, 65.}, {{2010, 8, 3, 0, 0, 0.},
-72.},
{{2010, 8, 3, 0, 0, 0.}, 45.}, {{2010, 8, 2, 0, 0, 0.}, 67.},
{{2010, 8, 2, 0, 0, 0.}, 83.}, {{2010, 8, 2, 0, 0, 0.}, -42.},
{{2010, 7, 30, 0, 0, 0.}, -32.}, {{2010, 7, 30, 0, 0, 0.}, 48.},
{{2010, 7, 30, 0, 0, 0.}, 12.}, {{2010, 7, 30, 0, 0, 0.}, 34.},
{{2010, 7, 29, 0, 0, 0.}, -52.}, {{2010, 7, 29, 0, 0, 0.}, 78.},
{{2010, 7, 29, 0, 0, 0.}, -26.}, {{2010, 7, 28, 0, 0, 0.}, 45.},
{{2010, 7, 28, 0, 0, 0.}, -23.}, {{2010, 7, 28, 0, 0, 0.}, -32.},
{{2010, 7, 28, 0, 0, 0.}, 74.}, {{2010, 7, 27, 0, 0, 0.}, 53.},
{{2010, 7, 27, 0, 0, 0.}, 58.}, {{2010, 7, 27, 0, 0, 0.}, 25.}};
({#1[[1, 1]], Total[Last /@ #1]} & ) /@ GatherBy[data, #1[[1, 1 ;; 3]] & ]
Out[2]= {{{2010, 8, 3, 0, 0, 0.}, 38.}, {{2010, 8, 2, 0, 0, 0.}, 108.},
{{2010, 7, 30, 0, 0, 0.}, 62.}, {{2010, 7, 29, 0, 0, 0.}, 0.},
{{2010, 7, 28, 0, 0, 0.}, 64.}, {{2010, 7, 27, 0, 0, 0.}, 136.}}
Adriano Pascoletti
2010/8/17 Leandro Tenfen <leandrotenfen at hotmail.com>
> Hi,
>
> I'm new with Mathematica, I need some help to start it.
>
> I've got a date series like a cashflow, how can I totalize at each date
> change? And how can I totalize by month, by year, etc?
>
> For example:
>
> In[]=
>
> {{{{2010, 8, 3, 0, 0, 0.},
> 65.}, {{2010, 8, 3, 0, 0, 0.}, -72.}, {{2010, 8, 3, 0, 0, 0.},
> 45.}, {{2010, 8, 2, 0, 0, 0.}, 67.}, {{2010, 8, 2, 0, 0, 0.},
> 83.}, {{2010, 8, 2, 0, 0, 0.}, -42.}, {{2010, 7, 30, 0, 0,
> 0.}, -32.}, {{2010, 7, 30, 0, 0, 0.},
> 48.}, {{2010, 7, 30, 0, 0, 0.}, 12.}, {{2010, 7, 30, 0, 0, 0.},
> 34.}, {{2010, 7, 29, 0, 0, 0.}, -52.}, {{2010, 7, 29, 0, 0, 0.},
> 78.}, {{2010, 7, 29, 0, 0, 0.}, -26.}, {{2010, 7, 28, 0, 0, 0.},
> 45.}, {{2010, 7, 28, 0, 0, 0.}, -23.}, {{2010, 7, 28, 0, 0,
> 0.}, -32.}, {{2010, 7, 28, 0, 0, 0.},
> 74.}, {{2010, 7, 27, 0, 0, 0.}, 53.}, {{2010, 7, 27, 0, 0, 0.},
> 58.}, {{2010, 7, 27, 0, 0, 0.}, 25.}}}
>
> Out[]=
>
> {{{{2010, 8, 3, 0, 0, 0.}, 38.}, {{2010, 8, 2, 0, 0, 0.},
> 108.}, {{2010, 7, 30, 0, 0, 0.},
> 28.}, {{2010, 7, 29, 0, 0, 0.}, -10.}, {{2010, 7, 28, 0, 0, 0.},
> 64.}, {{2010, 7, 2, 0, 0, 0.}, 136.}}}
>
> Thanks
> Leandro Tenfen
>
>