Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: How can I totalize by month, by year?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg111899] Re: How can I totalize by month, by year?
  • From: David Carraher <david_carraher at terc.edu>
  • Date: Wed, 18 Aug 2010 07:04:52 -0400 (EDT)

Hi Leandro,

Here's one approach.  Other folks will find other ways, I'm sure....

Below are your data (minus the outer pair of curly braces).

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.}};


(*
Here's one approach
GatherBy gathers the transactions from like dates.
Transpose puts the amounts for each data into lists.
Plus sums the list of amounts

 *)

In[2]:=
Transpose /@   GatherBy[data, First] /. {dates_, sum_List} :> { 
First[dates], Plus @@ sum}


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.}}





From:   "Leandro Tenfen" <leandrotenfen at hotmail.com>
To:     mathgroup at smc.vnet.net
Date:   08/17/2010 07:52 AM
Subject: [mg111899]        [mg111895] How can I totalize by month, by year?



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 




  • Prev by Date: Re: How can I totalize by month, by year?
  • Next by Date: Re: How can I totalize by month, by year?
  • Previous by thread: Re: How can I totalize by month, by year?
  • Next by thread: Re: How can I totalize by month, by year?