def group_by_month_per_hour(self):
data_by_month_per_hour = OrderedDict()<EOL>for m in xrange(<NUM_LIT:1>, <NUM_LIT>):<EOL><INDENT>for h in xrange(<NUM_LIT:0>, <NUM_LIT>):<EOL><INDENT>data_by_month_per_hour[(m, h)] = []<EOL><DEDENT><DEDENT>for v, dt in zip(self.values, self.datetimes):<EOL><INDENT>data_by_month_per_hour[(dt.month, dt.hour)].append(v)<EOL><DEDENT>return data_by_month_per_hour<EOL>
Return a dictionary of this collection's values grouped by each month per hour.

        Key values are tuples of 2 integers:
        The first represents the month of the year between 1-12.
        The first represents the hour of the day between 0-24.
        (eg. (12, 23) for December at 11 PM)