ó
šxŠ\c           @   sä   d  Z  d d l m Z d d l Z d d l m Z d d l Z d d l Z d d l m Z d d l	 Z
 d d l	 m Z m Z m Z m Z m Z m Z d d l m Z d d l m Z d d	 l m Z m Z d
 e f d „  ƒ  YZ d S(   s5    test with the TimeGrouper / grouping with datetimes iÿÿÿÿ(   t   datetimeN(   t   nan(   t   StringIO(   t	   DataFramet   Indext
   MultiIndext   Seriest	   Timestampt
   date_range(   t
   BinGrouper(   t   testing(   t   assert_frame_equalt   assert_series_equalt   TestGroupByc           B   s  e  Z d  „  Z e j j d e e g ƒ d „  ƒ Z d „  Z	 e j j d d d d d g ƒ d	 „  ƒ Z
 d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c   	      C   sè  t  i d j ƒ  d 6d d d d d d g d 6t d	 d d d
 d ƒ t d	 d d d
 d ƒ t d	 d d d d ƒ t d	 d d d d ƒ t d	 d d d d ƒ t d	 d d d d ƒ g d 6ƒ } | j d d ƒ } x| | g D]
} | j d g ƒ } t  i d d 6d t d d d d d d d d ƒƒ} t j d d d g d d ƒ| j d d d g d f <| j	 d ƒ j
 ƒ  } t | | ƒ | j ƒ  } | j t j d d ƒ ƒ j
 ƒ  } t | | ƒ | j t j d d ƒ ƒ j
 ƒ  } t | | ƒ qÖ Wd  S(   Ns   Carl Carl Carl Carl Joe Carlt   Buyeri   i   i   i   i	   t   QuantityiÝ  i   i    i
   i   i   i   i   t   Datet   byt   indext   20130901t   20131205t   freqt   5Dt   namet   closedt   lefti   i   t   dtypet   int64(   R   t   splitR    t   sort_valuest	   set_indexR   t   npt   arrayt   iloct   resamplet   sumR   t
   sort_indext   groupbyt   pdt   Grouper(	   t   selft   df_originalt   df_reorderedt   dft   expectedt   result1t	   df_sortedt   result2t   result3(    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyt   test_groupby_with_timegrouper   s2    "4!!t   should_sortc         C   sy  t  j i d j ƒ  d 6d j ƒ  d 6d d d d d	 d g d
 6t d d d d d ƒ t d d d d d ƒ t d d d d d ƒ t d d d d d ƒ t d d d d d ƒ t d d d d d ƒ g d 6ƒ } | rè | j d d
 d t ƒ } n  | j d d t ƒ} | j t  j d d ƒ ƒ } | j	 s't
 ‚ t | j t ƒ s?t
 ‚ | j } t | t ƒ s]t
 ‚ t | ƒ d k sut
 ‚ d  S(   Ns   A A A A A Bt   Branchs   Carl Mark Carl Joe Joe CarlR   i   i   i   i   i	   R   iÝ  i   i    i
   i   i   i   i   R   R   t	   ascendingt   dropR   t   6M(   R&   R   R   R    R   t   FalseR   R%   R'   t
   group_keyst   AssertionErrort
   isinstancet   grouperR	   t   groupst   dictt   len(   R(   R2   R+   t   gR<   (    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyt%   test_groupby_with_timegrouper_methods=   s&    	"	c         C   s	  t  i d j ƒ  d 6d j ƒ  d 6d d d d d d d	 d g d
 6t d d d d d ƒ t d d d d d ƒ t d d d d d ƒ t d d d d d ƒ t d d d d d ƒ t d d d d d ƒ t d d d d d ƒ t d d d d d ƒ g d 6ƒ j d ƒ } | j d d
 d t ƒ } x| | g D]‚} t  i d j ƒ  d 6d d d g d
 6t d d d d d ƒ t d d d d d ƒ t d d d d d ƒ g d 6ƒ j d d g ƒ } | j t j d d ƒ d g ƒ j	 ƒ  } t
 | | ƒ t  i d j ƒ  d 6d d d	 d g d
 6t d d d d d ƒ t d d d d d ƒ t d d d d d ƒ t d d d d d ƒ g d 6ƒ j d d g ƒ } | j t j d d ƒ d g ƒ j	 ƒ  } t
 | | ƒ q"Wt  i d j ƒ  d 6d j ƒ  d 6d d d d d d d	 d g d
 6t d d d d d ƒ t d d d d d ƒ t d d d d d ƒ t d d d d d ƒ t d d d d d ƒ t d d d d d ƒ t d d d d d ƒ t d d d d d ƒ g d 6ƒ j d ƒ } | j d d
 d t ƒ } x[| | g D]M} t  i d j ƒ  d 6d d d d  d g d
 6t d d d d d ƒ t d d d d d ƒ t d d d d d ƒ t d d d d d ƒ t d d d d d ƒ g d 6ƒ j d d g ƒ } | j t j d d! ƒ d g ƒ j	 ƒ  } t
 | | ƒ | j t j d d" ƒ d g ƒ j	 ƒ  } t  i d j ƒ  d 6d d d g d
 6t d d d d d ƒ t d d d d d ƒ t d d d d d ƒ g d 6ƒ j d d g ƒ } t
 | | ƒ | j ƒ  } | j t j d d" d# d ƒ d g ƒ j	 ƒ  } t
 | | ƒ t j t ƒ 0 | j t j d d" d# d$ ƒ d g ƒ j	 ƒ  Wd  QX| j d ƒ } | j t j d d" d% d ƒ d g ƒ j	 ƒ  } t
 | | ƒ | j t j d d" d% d ƒ d g ƒ j	 ƒ  } t
 | | ƒ t j t ƒ 0 | j t j d d" d% d$ ƒ d g ƒ j	 ƒ  Wd  QX| j ƒ  } | j t j j d ƒ | d <| j t j d d" d# d ƒ d g ƒ j	 ƒ  } t  i d j ƒ  d 6d d d g d
 6t d d& d' d d ƒ t d d& d' d d ƒ t d d& d' d d ƒ g d 6ƒ j d d g ƒ } t
 | | ƒ t j t ƒ 6 | j t j d d" d# d d% d ƒ d g ƒ j	 ƒ  Wd  QXt  i d g d
 6t d d d d d ƒ g d 6ƒ j d ƒ } | j t j d d" ƒ ƒ j	 ƒ  } t
 | | ƒ | j t j d d" ƒ g ƒ j	 ƒ  } t
 | | ƒ t  i d g d
 6t d d& d' d d ƒ g d 6ƒ j d ƒ } | j t j d d" d# d ƒ ƒ j	 ƒ  } t
 | | ƒ | j t j d d" d# d ƒ g ƒ j	 ƒ  } t
 | | ƒ qÊWd  S((   Ns   A A A A A A A BR3   s$   Carl Mark Carl Carl Joe Joe Joe CarlR   i   i   i   i   i	   R   iÝ  i   i    i
   i   i   i   i   R   R   R4   s   Carl Joe Marki   i   R   t   As   Carl Mark Carl Joei   t   6MSs   Carl Joe Mark Carl Joei   i   t   1Dt   1Mt   keyt   foot   leveli   i   (   R   R   R    R   R   R7   R%   R&   R'   R#   R   t   reset_indext   pytestt   raisest   KeyErrort
   ValueErrort   copyR   t   offsetst   MonthEnd(   R(   R)   R.   R+   R,   t   result(    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyt    test_timegrouper_with_reg_groups\   sÜ    "	"'"'"	"''"-1---""	!$"	'*R   t   Dt   MRA   s   Q-APRc         C   s™  t  i t j d d d d d d d d d d d d g ƒ d 6d d d d d d	 d	 d	 d
 d
 d
 d
 g d 6d d d d d d d d d d d d g d 6d d d d d d d d d d d d g d  6ƒ j d ƒ } | j d ƒ d j | ƒ j d! d ƒ j ƒ  j d d g ƒ j	 ƒ  j
 d" ƒ } d | _ | j	 ƒ  j t j d# | ƒ d g ƒ d j ƒ  } t | | ƒ | j t j d# | ƒ d g ƒ d j ƒ  } t | | ƒ d  S($   Nt   20121002t   20121007t   20130130t   20130202t   20130305t   20121207t   datei   i   i   t   user_idiþ  il  i  i  iÉ   io  iZ   i8  ig  i-  i!  t
   whole_costi   i   i
   i   i'   i    i-   i"   t   cost1t	   min_countR   R   (   R   R&   t   to_datetimeR   R%   R"   R#   t   dropnat   reorder_levelsR$   t   astypeR   R'   R   (   R(   R   R+   R,   R-   R/   (    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyt%   test_timegrouper_with_reg_groups_freqú   s,    +1			c         C   s:  t  i d j ƒ  d 6d d d d d d g d 6t d	 d d d
 d ƒ t d	 d d d
 d ƒ t d	 d d d d ƒ t d	 d d d d ƒ t d	 d d d d ƒ t d	 d d d d ƒ g d 6ƒ } | j d d ƒ } | j d d d g | j d d g | j d g g } d d d g } x€ | | g D]r } | j t j d d d d ƒ ƒ } xH t | | ƒ D]7 \ } } t j	 | ƒ }	 | j
 |	 ƒ }
 t |
 | ƒ qRWqW| j d g | j d g | j d g g } d d d g } x’ | | g D]„ } | j d t j d d d d ƒ g ƒ } xT t | | ƒ D]C \ \ } } } t j	 | ƒ }	 | j
 | |	 f ƒ }
 t |
 | ƒ qWqÚW| j d ƒ } | j d d ƒ } | j d d d g | j d d g | j d g g } xz | | g D]l } | j t j d d ƒ ƒ } xH t | | ƒ D]7 \ } } t j	 | ƒ }	 | j
 |	 ƒ }
 t |
 | ƒ q÷WqÆWd  S(   Ns   Carl Joe Joe Carl Joe CarlR   i   i   i   i   i	   R   iÝ  i   i    i
   i   i   i   i   R   R   i   s
   2013-09-30s
   2013-10-31s
   2013-12-31R   RS   RE   t   Joet   Carl(   Rd   s
   2013-09-30(   Re   s
   2013-10-31(   Rd   s
   2013-12-31(   R   R   R    R   R!   R%   R&   R'   t   zipR   t	   get_groupR   R   (   R(   R)   R*   t   expected_listt   dt_listR+   t   groupedt   tR,   t   dtRP   t   g_listt   b(    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyt   test_timegrouper_get_group  sN    "#!	'"#c         C   sÌ   t  j i d d g d 6d d g d 6ƒ } | j ƒ  } t  j | d ƒ | d <d „  } | j t  j d d ƒ ƒ j | ƒ } | j t  j d	 d
 d d ƒ ƒ j | ƒ } t | j d t	 ƒ | j d t	 ƒ ƒ d  S(   Ns
   10/10/2000s
   11/10/2000RZ   i
   i   t   valuec         S   s   t  j |  d j ƒ  g d ƒ S(   NRp   R#   (   R#   (   R&   R   R#   (   t   x(    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyt   sumfunc_series[  s    RE   R   RS   R5   (
   R&   R   RM   R_   R%   R'   t   applyR   RH   t   True(   R(   R+   t   df_dtRr   R,   RP   (    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyt)   test_timegrouper_apply_return_type_seriesR  s    	$!	c      
   C   sè   t  j i d d g d 6d d g d 6ƒ } | j ƒ  } t  j | d ƒ | d <d „  } | j t  j d d ƒ ƒ j | ƒ } t j t	 d	 t
 ƒ/ | j t  j d
 d d d ƒ ƒ j | ƒ } Wd  QXt | j d t ƒ | j d t ƒ ƒ d  S(   Ns
   10/10/2000s
   11/10/2000RZ   i
   i   Rp   c         S   s   |  j  j ƒ  S(   N(   Rp   R#   (   Rq   (    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyt   sumfunc_valuem  s    RE   t   check_stacklevelR   RS   R5   (   R&   R   RM   R_   R%   R'   Rs   t   tmt   assert_produces_warningt   FutureWarningR7   t   TimeGrouperR   RH   Rt   (   R(   R+   Ru   Rw   R,   RP   (    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyt(   test_timegrouper_apply_return_type_valued  s    	$
!c         C   sä  d } t  j d d d d d | ƒ } t i t j | ƒ d 6t j | ƒ d 6d	 | ƒ} | j d
 „  ƒ } | j } t t | j	 ƒ  ƒ d t
 ƒ s– t ‚ t  j d d d d d ƒ} t  j i d d d d d g d 6d d d d d g d 6d	 | ƒ} | j d d ƒ j } d d d d d g } d  „  | Dƒ }	 t j | |	 ƒ | j d d ƒ } x | D]‡ }
 | j |
 ƒ } | j |
 d f | j |
 d f g g } t  j |
 g d d ƒ} t  j | d! t d" ƒ d	 | ƒ}	 t j | |	 ƒ qUWd  S(#   Niè  t   starts   2012/1/1R   t   5mint   periodst   hight   lowR   c         S   s   t  |  j |  j |  j ƒ S(   N(   R    t   yeart   montht   day(   Rq   (    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyt   <lambda>~  s    i    s
   2015/01/01i   R   RZ   i   i   i   i	   RA   i   i   i   i   t   BRG   s
   2015-01-05s
   2015-01-04s
   2015-01-03s
   2015-01-02s
   2015-01-01c         S   s4   i  |  ]* } t  j | g d  d ƒt  j | ƒ “ q S(   R   RZ   (   R&   t   DatetimeIndexR   (   t   .0RZ   (    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pys
   <dictcomp>‹  s   	t   columnst   AB(   R&   R   R   R   t   arangeR%   R<   R:   t   listt   keysR    R9   Ry   t   assert_dict_equalRg   t   locRˆ   R   (   R(   R€   t   indR+   Rj   R<   R   RP   t   datesR,   RZ   t   datat   expected_index(    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyt!   test_groupby_groups_datetimeindexx  s2    	%"	
)	c   	      C   s6  d d d d d d g } t  i d d d d d d g d 6| d 6t j d d	 d
 ƒd 6d d g d d 6ƒ } | d j d „  ƒ | d <t j d d d d d d g d d d d ƒ} t d d g d d d ƒ} t j | | g ƒ } t  i d d d d d d g d 6d d d d d d g d 6d | d d d g ƒ} | j	 d d g ƒ j
 ƒ  } t | | ƒ t j | d d ƒ} t  i t j d d	 d
 ƒd 6d d d d d d g d 6d | ƒ} t j d d d g d d ƒ} t  i d d d g d 6d d d g d 6d | d d d g ƒ} | j	 d d ƒ j
 ƒ  } t | | ƒ d  S(   Ns   2011-07-19 07:00:00s   2011-07-19 08:00:00s   2011-07-19 09:00:00t   aRn   t   labelR    i   R   R   t   value1i   i   i   t   value2c         S   s   t  |  d d ƒS(   Nt   tzs
   US/Pacific(   R   (   t   d(    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyR†   £  s    Rš   s
   US/PacificR   i    i   i   R   RŠ   s
   Asia/Tokyoi   RG   (   R   R   RŒ   Rs   R&   Rˆ   R   R   t   from_arraysR%   R#   R   (	   R(   R’   R+   t   exp_idx1t   exp_idx2t   exp_idxR,   RP   t   didx(    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyt$   test_groupby_groups_datetimeindex_tz™  sD    
				)c         C   su   t  d t j d ƒ f d t j d ƒ f g d d d g ƒ} | j d ƒ j ƒ  } | d d t d ƒ k sq t ‚ d  S(   Ni   s
   2012-07-03s
   2012-07-04RŠ   R–   RZ   (   R   R   t
   datetime64R%   t   firstR   R9   (   R(   R+   RP   (    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyt&   test_frame_datetime64_handling_groupbyÄ  s
    c      	   C   sP  d } t  j t | ƒ d d  d d d d g ƒ} | j d ƒ j j d „  ƒ } t t d d d	 ƒt d
 d d	 ƒt d d d ƒt d d d	 ƒt d d d ƒg d d d t	 ƒ} t
 | | ƒ d	 } | j d ƒ j j | ƒ } t  j | ƒ j j | ƒ } t d d d g d d d d g d d ƒ} t  j | ƒ j j | ƒ } t
 | | ƒ d  S(   NsÂ   0,2000-01-28 16:47:00,America/Chicago
1,2000-01-29 16:48:00,America/Chicago
2,2000-01-30 16:49:00,America/Los_Angeles
3,2000-01-31 16:50:00,America/Chicago
4,2000-01-01 16:50:00,America/New_Yorkt   headert   namesRp   RZ   Rš   c         S   s   t  j |  ƒ j j |  j ƒ S(   N(   R&   R_   Rl   t   tz_localizeR   (   Rq   (    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyR†   Ù  s    s   2000-01-28 16:47:00-0600s   America/Chicagos   2000-01-29 16:48:00-0600s   2000-01-30 16:49:00-0800s   America/Los_Angeless   2000-01-31 16:50:00-0600s   2000-01-01 16:50:00-0500s   America/New_YorkR   R   s   2000-01-28 16:47:00s   2000-01-29 16:48:00s   2000-01-31 16:50:00R   i    i   i   (   R&   t   read_csvR   t   NoneR%   RZ   Rs   R   R   t   objectR   Rg   R_   Rl   R§   (   R(   R“   R+   RP   R,   Rš   t
   res_valuest
   exp_values(    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyt   test_groupby_multi_timezoneÌ  s4    							c   
      C   s>  d d d d d d g } t  i d d d d d d g d 6g  | D] } t j | d d ƒ^ q> d	 6t j d
 d d ƒd 6d d g d d 6ƒ } t j d d d d d d g d d d d	 ƒ} t d d g d d d ƒ} t j | | g ƒ } t  i d d d d d d g d 6d d d d d d g d 6d | d d d g ƒ} | j	 d	 d g ƒ j
 ƒ  } t | | ƒ t j | d d ƒ}	 t  i t j d
 d d ƒd 6d d d d d d g d 6d |	 ƒ} t j d d d g d d ƒ} t  i d d d g d 6d d d
 g d 6d | d d d g ƒ} | j	 d d ƒ j
 ƒ  } t | | ƒ d  S(   Ns   2011-07-19 07:00:00s   2011-07-19 08:00:00s   2011-07-19 09:00:00R–   Rn   R—   R   t   Ht   periodi   R   R   R˜   i   i   i   R™   R   i    i   i   R   RŠ   i   RG   (   R   R&   t   PeriodR   RŒ   t   PeriodIndexR   R   Rœ   R%   R#   R   (
   R(   R’   R›   R+   R   Rž   RŸ   R,   RP   R    (    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyt   test_groupby_groups_periodsò  s@    )				)c         C   sÏ   t  d d g ƒ } | d j d ƒ | d <t | d j j t j ƒ sK t ‚ | j d d ƒ j	 ƒ  } | d j } t | j t j ƒ s‹ t ‚ | d j d d ƒ j	 ƒ  } | j } t | j t j ƒ sË t ‚ d  S(	   Ni   I  {¾ÏØ¿i   s   M8[ns]RG   i    (   i   I  {¾ÏØ¿(   i   I  {¾ÏØ¿(
   R   t   viewt
   issubclassR   t   typeR   R¢   R9   R%   R£   (   R(   R+   RP   t   got_dt(    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyt   test_groupby_first_datetime64  s    "	c         C   ss   t  t d t d ƒ d t j d ƒ ƒ ƒ } | j d ƒ d j d „  ƒ } | j d ƒ d j ƒ  } t | | ƒ d  S(   NRA   t   20130101R‡   i   c         S   s
   |  j  ƒ  S(   N(   t   max(   Rq   (    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyR†   ,  s    (	   R   R=   R   R   RŒ   R%   Rs   R¹   R   (   R(   R+   R,   RP   (    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyt   test_groupby_max_datetime64(  s    *c         C   s   t  i t d ƒ d 6t j d ƒ g d d 6ƒ } | j d ƒ d j t ƒ } t t j d ƒ g d d d ƒ} t | | ƒ d  S(   Ni   RA   s	   2000-01-1R‡   R   (	   R   t   rangeR&   R   R%   t	   transformt   minR   R   (   R(   R+   RP   R,   (    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyt   test_groupby_datetime64_32_bit0  s    0"c      
   C   s£   t  j j d ƒ t j i t  j j d d d d ƒd 6t j d d d d	 d
 d d ƒd 6ƒ } | j d ƒ j ƒ  d } | j d ƒ d j ƒ  } t	 j
 | | ƒ d  S(   Ni*   i    i   t   sizei<   t   factors   01/01/2000 00:00R€   R   t   sRš   t   UTCt   time(   R   t   randomt   seedR&   R   t   randintR   R%   R¹   Ry   R   (   R(   R+   t   df1t   df2(    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyt$   test_groupby_with_timezone_selection9  s    	c         C   s¨   t  j i d g d 6t j t j ƒ g d 6ƒ } | d d j t j k sO t ‚ t  j i d d d g d 6ƒ } t j t j ƒ | d <| d d j t j k s¤ t ‚ d  S(   Ni   R–   Rn   i    i   i   (   R&   R   R    t   nowt   pytzt   utct   tzinfoR9   (   R(   R+   (    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyt   test_timezone_infoF  s
    / c         C   sž   t  i d d d g d d 6t j d d d d d	 ƒd
 6ƒ } | j d ƒ j j ƒ  } t d d d g d t d d d g d d ƒd d
 ƒ} t j	 | | ƒ d  S(   Ni   i   i   R–   RÊ   R€   i   R   t   TR’   R   R   (
   R   R&   R   R%   R’   t   countR   R   Ry   R   (   R(   R+   RP   R,   (    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyt   test_datetime_countP  s    "$c         C   s  d d l  m } t i t d d d t g d 6t | d d ƒ | d d	 ƒ | d d
 ƒ t g d 6ƒ } t j | j ƒ | _ d | d <| | j j ƒ  } | j d ƒ } | j d ƒ } t	 | j
 ƒ  | j
 ƒ  ƒ t	 | j ƒ  | j ƒ  ƒ t	 | j ƒ  | j ƒ  ƒ t	 | j ƒ  | j ƒ  ƒ d  S(   Niÿÿÿÿ(   t	   timedeltas   2015-07-24 10:10s   2015-07-25 11:11s   2015-07-23 12:12Rl   t   daysi   i   i   t   tdRA   t   group(   R    RÒ   R   R   R&   R_   Rl   t   notnaR%   R   R¹   R½   R£   t   last(   R(   RÔ   t   df_testt   df_reft   grouped_testt   grouped_ref(    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyt$   test_first_last_max_min_on_time_dataY  s    7
c         C   s©   t  j i t d ƒ t  j t d ƒ g d 6d d d g d 6ƒ } t  j d d d	 d
 ƒ } | j | ƒ d j ƒ  } | | j j ƒ  j | ƒ d j ƒ  } t	 j
 | | ƒ d  S(   Ns   2016-06-28 09:35:35s   2016-06-28 16:46:28RÃ   t   1t   2t   3R“   RE   R   t   h(   R&   R   R   t   NaTR'   R%   t   nuniqueRÃ   t   notnullRy   R   (   R(   t   testR;   RP   R,   (    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyt%   test_nunique_with_timegrouper_and_natn  s    		&c         C   s¹   i d d d g d 6t  j d d d g d d ƒd	 6d
 d d g d 6} t  j | ƒ j d	 ƒ } t  j d d ƒ } | j | ƒ } | j ƒ  } | j | g ƒ } | j ƒ  } t | | ƒ d  S(   Nt   shanghait   beijingt   locations   2017-08-09 13:32:23s   2017-08-11 23:23:15s   2017-08-11 22:23:15R   s   datetime64[ns]RÃ   i   i   i   Rp   R   RR   (   R&   R   R   R   R'   R%   RÐ   R   (   R(   t
   data_frameR;   Rj   RP   R,   (    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyt!   test_scalar_call_versus_list_call{  s    	
(   t   __name__t
   __module__R1   RI   t   markt   parametrizeRt   R7   R@   RQ   Rc   Ro   Rv   R}   R•   R¡   R¤   R­   R²   R·   Rº   R¾   RÉ   RÎ   RÑ   RÜ   Rå   Rê   (    (    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyR      s*   	($	ž*"	6			!	+		&	(						
				(   t   __doc__R    t   numpyR   R   RI   RË   t   pandas.compatR   t   pandasR&   R   R   R   R   R   R   t   pandas.core.groupby.opsR	   t   pandas.utilR
   Ry   t   pandas.util.testingR   R   Rª   R   (    (    (    sD   lib/python2.7/site-packages/pandas/tests/groupby/test_timegrouper.pyt   <module>   s   .