ó
šxŠ\c           @   s‡  d  d l  m  Z  d  d l Z d  d l 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 „  Z d „  Z e j j d d ƒ 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$ d „  Z% d „  Z& d „  Z' d „  Z( d „  Z) d  „  Z* d! „  Z+ d" „  Z, d S(#   iÿÿÿÿ(   t   datetimeN(   t	   DataFramet   Indext
   MultiIndext   Seriest   bdate_ranget   compat(   t   testingc       	   C   s8  d }  t  j t j |  ƒ d d  d d d d g d d d g g ƒ} | j d ƒ } | j | j j ƒ j	 ƒ  } | j | j j ƒ j
 d	 „  ƒ } t j | | ƒ t  j t j |  ƒ d d  d d d d g ƒ} t  j d
 d d g d t d d ƒ} t d d d g d | ƒ} | j d ƒ j
 d „  ƒ } t j | | ƒ d  S(   Ns+  2011.05.16,00:00,1.40893
2011.05.16,01:00,1.40760
2011.05.16,02:00,1.40750
2011.05.16,03:00,1.40649
2011.05.17,02:00,1.40893
2011.05.17,03:00,1.40760
2011.05.17,04:00,1.40750
2011.05.17,05:00,1.40649
2011.05.18,02:00,1.40893
2011.05.18,03:00,1.40760
2011.05.18,04:00,1.40750
2011.05.18,05:00,1.40649t   headert   namest   datet   timet   valuet   parse_datest	   date_timec         S   s
   |  j  ƒ  S(   N(   t   idxmax(   t   x(    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   <lambda>!   s    s
   2011.05.16s
   2011.05.17s
   2011.05.18t   dtypet   names   00:00s   02:00t   indexc         S   s   |  d |  d j  ƒ  S(   NR   R   (   R   (   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyR   -   s    (   t   pdt   read_csvR   t   StringIOt   Nonet	   set_indext   groupbyR   R
   R   t   applyt   tmt   assert_frame_equalR   t   objectR   t   assert_series_equal(   t   st   dft   expectedt   resultt   exp_idx(    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   test_apply_issues   s"    $!'c             sÓ   t  j i d d d d d g d 6d d d d d g d	 6d
 d d	 g ƒ‰  t  j ˆ  j d ˆ  j d g d d d d d g ƒ}  ˆ  j g  ˆ  j D] } t | ƒ ^ qŒ d d ƒj ‡  f d †  ƒ } t j	 | |  ƒ d  S(   Nt   at   bt   keyg      ð?g       @g      @g      @g      @t   datat   columnsi   t   axist   keyst   float64R   c            s   ˆ  j  d S(   Ni   (   t   iloc(   R   (   R!   (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyR   :   s    (
   R   R   t   concatR.   R   t   dtypest   strR   R   R   (   R"   R   R#   (    (   R!   s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   test_apply_trivial1   s     (t   reasonsq   GH#20066; function passed into apply returns a DataFrame with the same index as the one to create GroupBy object.c             sÅ   t  j i d d d d d g d 6d d d d d g d	 6d
 d d	 g ƒ‰  t  j ˆ  ˆ  g d d d d d g ƒ}  ˆ  j g  ˆ  j D] } t | ƒ ^ q~ d d ƒj ‡  f d †  ƒ } t j | |  ƒ d  S(   NR&   R'   R(   g      ð?g       @g      @g      @g      @R)   R*   R+   i   R,   R-   R   c            s   ˆ  S(   N(    (   R   (   R!   (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyR   L   s    (	   R   R   R/   R   R0   R1   R   R   R   (   R"   R   R#   (    (   R!   s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   test_apply_trivial_fail?   s    (c          C   sû   d }  t  j j d d d |  ƒ} t  j j d d d |  ƒ} t i | d 6| d 6t  j j |  ƒ d 6d	 d
 d d g |  d d 6ƒ } d „  } | j d d g ƒ } | j } | j | j d | j	 ƒ} | j
 ƒ  } | j | | ƒ \ }	 }
 |
 s÷ t ‚ d  S(   Niè  i    iÐ  t   sizei   R(   t   key2t   value1t   foot   bart   bazt   quxi   t   value2c         S   s   d S(   Ni   (    (   t   g(    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   f^   s    R+   (   t   npt   randomt   randintR   t   randnR   t   groupert   _get_splittert   _selected_objR+   t   _get_group_keyst
   fast_applyt   AssertionError(   t   Nt   labelst   labels2R!   R>   R=   RC   t   splittert
   group_keyst   valuest   mutated(    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   test_fast_applyQ   s    !		c          C   sï   t  i t j j d ƒ d 6d d d d d d g d 6ƒ }  |  j d „  d d	 ƒ} t j |  j ƒ  | j ƒ  ƒ t  i d	 d
 d d d g d 6ƒ }  |  j d |  d <|  j	 d ƒ j
 ƒ  j ƒ  j } |  j	 d d t ƒj
 ƒ  j } t j | | ƒ d  S(   Ni   t   foo1t   onet   twot   threet   foo2c         S   s   |  S(   N(    (   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyR   p   s    R+   i   i   i   t   c1g       @t   c2t   as_index(   R   R?   R@   RB   R   R   R   t   get_dtype_countsRV   R   t   meant   reset_indexRW   t   False(   R!   R#   t   result1t   result2(    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   test_apply_with_mixed_dtypel   s    "c         C   sì  t  i d d d d d d g d 6d d d d d d g d 6t d	 ƒ d
 6ƒ }  |  j d d t ƒ} |  j d d t ƒ} | j d ƒ j } | j d ƒ j } t d d d d g ƒ } t j	 | | ƒ t j	 | | ƒ | j
 d „  ƒ j } | j
 d „  ƒ j } t j d d d d g ƒ } d d d d g }	 t j |	 d d d  g ƒ}
 t j	 | |
 ƒ t j	 | | ƒ t t d ƒ ƒ } t  d d g d d g d d g d d g d d	 g g d | ƒ}  |  j d d t ƒj
 d „  ƒ j } t j	 | | ƒ d  S(   NR'   R&   t   ct   item_idi   i   i   t   user_idi   R   RX   i    i   c         S   s   |  j  d ƒ S(   Ni   (   t   head(   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyR   Š   s    c         S   s   |  j  d ƒ S(   Ni   (   Rc   (   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyR   ‹   s    R	   t   abcdei   R   c         S   s   |  S(   N(    (   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyR   ™   s    (   i    i    (   i    i   (   i   i   (   i   i   (   i   i    (   i   i   (   i   i   (   i   i   (   R   t   rangeR   t   TrueR\   Rc   R   R   R   t   assert_index_equalR   R   t   from_tuplesR   t   list(   R!   t   g_ast   g_not_ast   res_ast
   res_not_ast   expt   res_as_applyt   res_not_as_applyt   exp_not_as_applyt   tpt   exp_as_applyt   indt   res(    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   test_groupby_as_index_apply{   s,    ?$c         C   s©   |  j  d d g ƒ } d „  } d „  } d „  } | j | ƒ } | j j d k sW t ‚ | j | ƒ } | j j d k s~ t ‚ | j | ƒ } | j j d	 k s¥ t ‚ d  S(
   Nt   At   Bc         S   s   |  j  ƒ  } d | j _ | S(   Nt   stat(   t   describeR   R   (   t   groupR#   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   desc    s    c         S   s,   |  j  ƒ  } d | j _ | t |  ƒ  } | S(   NRy   (   Rz   R   R   t   len(   R{   R#   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   desc2¥   s    c         S   s6   |  j  ƒ  } d t |  ƒ | j _ | t |  ƒ  } | S(   Ns   stat_%d(   Rz   R}   R   R   (   R{   R#   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   desc3¬   s    Ry   (   Rw   Rx   Ry   (   Rw   Rx   Ry   (   Rw   Rx   N(   R   R   R   R	   RH   R   (   t   three_groupt   groupedR|   R~   R   R#   R^   t   result3(    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt    test_apply_concat_preserve_names   s    			
c          C   s‰   d „  }  t  d d d ƒ} t t j j d ƒ d | ƒ} | j d „  ƒ } | j |  ƒ } t | t ƒ so t	 ‚ t
 j | j | j ƒ d  S(   Nc         S   sQ   t  j d d ƒ  t  j |  ƒ } Wd  QXt i |  d 6|  |  j ƒ  d 6| d 6ƒ S(   Nt   invalidt   ignoreR   t   demeanedt   logged(   R?   t   errstatet   logR   RZ   (   t   pieceR‡   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyR>   Á   s
    s   1/1/2000t   periodsid   R   c         S   s   |  j  S(   N(   t   month(   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyR   Ë   s    (   R   R   R?   R@   RB   R   R   t
   isinstanceR   RH   R   Rg   R   (   R>   t   drt   tsR   R#   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   test_apply_series_to_frameÀ   s    	c         C   sB   |  j  d d g ƒ d j t ƒ } | j j d  d k s> t ‚ d  S(   NRw   Rx   t   Ci   (   Rw   Rx   (   R   R   R}   R   R	   RH   (   R!   R#   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt    test_apply_series_yield_constantÒ   s    "c         C   sž   |  j  d d g ƒ j t ƒ } t | t ƒ s3 t ‚ | j d  k sH t ‚ |  j  d d g ƒ d d g j t ƒ } t | t ƒ s… t ‚ | j d  k sš t ‚ d  S(   NRw   Rx   R‘   t   D(   R   R   R}   R   R   RH   R   R   (   R!   R#   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   test_apply_frame_yield_constant×   s    (c         C   sd   |  j  d d g ƒ } | j t ƒ } | j ƒ  d } t j | j | j ƒ t j | j | j ƒ d  S(   NRw   Rx   R‘   (	   R   R   R}   t   countR   Rg   R   t   assert_numpy_array_equalRN   (   R!   R   R#   R"   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   test_apply_frame_to_seriesâ   s
    c             sÌ   d „  }  ‡  f d †  } t  i t j j d d d ƒ d 6t j j d d d ƒ d 6t j j d ƒ d 6ƒ ‰  ˆ  j d ƒ j |  ƒ } ˆ  j d ƒ d j | ƒ } t j | | d	 t	 ƒ| j
 d k sÈ t ‚ d  S(
   Nc         S   s!   |  j  d ƒ d j ƒ  j ƒ  d  S(   NRx   R‘   i   (   R   t   sumt   sort_values(   R{   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   transë   s    c            s3   |  j  ˆ  j |  j ƒ d ƒ } | j ƒ  j ƒ  d  S(   NRx   i   (   R   t   reindexR   R˜   R™   (   R{   R   (   R!   (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   trans2î   s    i    i   iè  Rw   Rx   R‘   t   check_names(   R   R?   R@   RA   RB   R   R   R   R   R\   R   RH   (   Rš   Rœ   R#   Rn   (    (   R!   s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   test_apply_frame_concat_seriesê   s    	c         C   sJ   |  j  d „  ƒ } | j d „  ƒ } | j d „  ƒ } t j | | ƒ d  S(   Nc         S   s   |  j  S(   N(   RŒ   (   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyR   ý   s    c         S   s   |  d S(   Ni   (    (   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyR   þ   s    c         S   s   |  d S(   Ni   (    (   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyR   ÿ   s    (   R   R   t	   transformR   R   (   R   R   R#   R"   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   test_apply_transformü   s    c         C   sk   |  j  d „  d „  g ƒ } d „  } | j | ƒ } x1 | D]) \ } } t j | j | | | ƒ ƒ q: Wd  S(   Nc         S   s   |  j  S(   N(   t   year(   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyR     s    c         S   s   |  j  S(   N(   RŒ   (   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyR     s    c         S   s   |  j  d ƒ d S(   NRw   iûÿÿÿ(   R™   (   R{   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyR>     s    (   R   R   R   R   t   loc(   t   tsframeR   R>   R#   R(   R{   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   test_apply_multikey_corner  s
    	c          C   s”   t  i d d d d d d d d d g	 d 6t j d ƒ d 6ƒ }  |  j d d t ƒj d „  ƒ } |  j d	 d d d
 d d g ƒ } t j | | ƒ d  S(   Ni   i   i   R(   i	   R   RM   c         S   s   |  d  S(   Ni   (    (   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyR     s    i    i   i   i   (	   R   R   t   lrangeR   R\   R   t   takeR   R   (   R!   R#   R"   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   test_apply_chunk_view  s
    (!!c          C   sœ   t  i d d d d d d d d d d g
 d 6d d d d d d d d d d g
 d 6t j d ƒ d  d  d … d 6ƒ }  |  j d d g ƒ } | j d	 „  ƒ d  S(
   Ni   i   R   i    t   name2i
   iÿÿÿÿR   c         S   s   |  j  d d t ƒS(   NR   t   inplace(   R™   Rf   (   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyR     s    (   R   R   R¥   R   R   (   R!   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt"   test_apply_no_name_column_conflict  s
    +%#c          C   s´   t  i d d d d d d g d 6t j d d d g d ƒ d 6t j d d ƒ d	 6ƒ }  d
 „  } |  j d ƒ j | ƒ } |  j ƒ  } t j d d d g d ƒ | d <t j | | ƒ d  S(   Ng      ð?g       @t   dR&   R'   R`   i   g      @t   vc         S   s6   |  d } | | j  ƒ  | j ƒ  | j  ƒ  |  d <|  S(   NR¬   t   v2(   t   mint   max(   R{   R¬   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyR>   (  s    
(g        g      à?i   R­   (	   R   R?   t   tilet   arangeR   R   t   copyR   R   (   R!   R>   R#   R"   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   test_apply_typecast_fail"  s    	c          C   só   t  j d d d d d d g d d d d d d g g ƒ }  t i d d d d d d g d 6t j d d	 d
 g d ƒ d
 6t j d d ƒ d 6d |  ƒ} d „  } | j d ƒ j | ƒ } | j ƒ  } t j d d d g d ƒ | d <t	 j
 | | ƒ d  S(   Ni    i   i   i   g      ð?g       @R«   R&   R'   R`   g      @R¬   R   c         S   s6   |  d } | | j  ƒ  | j ƒ  | j  ƒ  |  d <|  S(   NR¬   R­   (   R®   R¯   (   R{   R¬   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyR>   <  s    
(g        g      à?R­   (   R   t   from_arraysR   R?   R°   R±   R   R   R²   R   R   (   R   R!   R>   R#   R"   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   test_apply_multiindex_fail5  s    9	c         C   s<   |  j  d „  ƒ j d „  ƒ } |  d } t j | | ƒ d  S(   Nc         S   s   |  j  S(   N(   R¡   (   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyR   J  s    c         S   s   |  d S(   Ni   (    (   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyR   J  s    i   (   R   R   R   R   (   R£   R#   R"   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   test_apply_cornerI  s    
c          C   s›   t  i d d d d g d 6d d d d g d 6d	 d
 d d g d 6ƒ }  d „  } d „  } |  j d ƒ j | ƒ } |  j d ƒ j | ƒ } t j | | ƒ d  S(   Nid   iÈ   i,  t   id_fieldR&   R'   R`   t   categoryi   i   i   i   R   c         S   s2   |  j  d d k r |  j ƒ  S|  |  j d k Sd  S(   Ni    i   R`   (   t   shapeR²   R¸   (   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   filt1W  s    
c         S   s,   |  j  d d k r |  S|  |  j d k Sd  S(   Ni    i   R`   (   R¹   R¸   (   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   filt2]  s    (   R   R   R   R   R   (   R)   Rº   R»   R"   R#   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   test_apply_without_copyO  s    		c          C   sŸ   d }  t  j j d d d |  ƒ} t i | d 6t  j j |  ƒ d 6d d d	 d
 g |  d d 6ƒ } | j d ƒ } d „  } | j | ƒ } d | k s› t ‚ d  S(   Niè  i    id   R5   R(   R7   R8   R9   R:   R;   i   R<   c         S   s   |  d d |  d <|  S(   NR7   i   t   value3(    (   R=   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyR>   s  s    R½   (   R?   R@   RA   R   RB   R   R   RH   (   RI   RJ   R!   R   R>   R#   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   test_apply_corner_casesh  s    !	c          C   sÿ  t  j i d d g d 6d g d d 6d d g d 6ƒ }  |  j d g ƒ j d	 „  ƒ } t  j |  j ƒ |  _ |  j d g ƒ j d
 „  ƒ } t j | d | d ƒ t  j i d d d g d 6d d d g d 6t  j d ƒ g d d 6ƒ }  d „  } |  j d ƒ j | ƒ d } |  j	 } |  j
 | _ t j | | ƒ d „  } t  j i d d d d g d 6d d d d g d 6d d d d g d 6d d  d! d! g d" 6ƒ } | j ƒ  } t  j | j ƒ | _ | j d ƒ j | ƒ j } | j d ƒ j | ƒ j } t j | | ƒ d  S(#   Ni   i   t   Numbers
   2017-03-02t   DateR8   t   inft   Strc         S   s   |  j  d S(   Ni    (   R.   (   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyR   …  s    c         S   s   |  j  d S(   Ni    (   R.   (   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyR   ‡  s    i
   i   i   Rw   t   3t   4Rx   s   12:31:22i   t   Tc         S   s   |  j  d d g S(   Ni    Rx   (   R.   (   R=   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   get_B  s    c         S   sÊ   t  j d d d d g d t ƒ } d t |  j ƒ k r` t |  |  j d k j j d ƒ | d <n  d t |  j ƒ k rÆ t |  |  j d k j j d ƒ | d <t |  |  j d k j j d ƒ | d <n  | S(	   NR   t   p1t   p2t   useTimeR   t   step1i    t   step2(	   R   R   R   Ri   t   StateR1   t   MachineRN   t   oTime(   t   toolt   out(    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   predictions—  s    !*''t   KeyRÊ   RË   RÌ   t    s   2016-09-19 05:24:33s   2016-09-19 23:59:04RÎ   t   23t   36Lt   36RRÍ   (   R   R   R   R   t   to_datetimeRÀ   R   R   t	   TimestampRx   Rw   R   R²   RÎ   RÇ   (   R!   R"   R#   RÆ   RÑ   t   df1t   df2(    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt)   test_apply_numeric_coercion_when_datetime{  s4    				c          C   s  t  j i d d 6g  t d ƒ D] }  t j ƒ  ^ q d 6ƒ } d „  } d „  } | j d d g ƒ j | ƒ } t  j i d d	 6d
 d g ƒ} d | j _ | j d d g ƒ j | ƒ } t  j i t d d d ƒ d 6d d	 6d
 d g ƒ} d | j _ t	 j
 | | ƒ t	 j
 | | ƒ d  S(   Ni   R&   i
   R'   c         S   s   t  j i d d 6ƒ S(   Ni   R`   (   R   R   (   t   batch(    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   func_with_no_date´  s    c         S   s'   t  j i t d d d ƒ d 6d d 6ƒ S(   Niß  i   R'   i   R`   (   R   R   R    (   RÜ   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   func_with_date·  s    t   byi   R`   R   iß  (   R   R   Re   R    t   nowR   R   R   R   R   R   (   t   nnR!   RÝ   RÞ   t   dfg_no_conversiont   dfg_no_conversion_expectedt   dfg_conversiont   dfg_conversion_expected(    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   test_time_field_bug¬  s    <		c             s  t  i 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 d g ƒ }  |  j d d d g d t ƒ } d „  ‰  | j ‡  f d †  ƒ d  S(   NR&   R'   t   group1R`   R«   t   et   group2gš™™™™™ñ?i   i   i   i   i   i   i   t   weightgffffff@i	   i
   i   i   i   R   t   levelt   sortc         S   s    t  j |  | ƒ j d ƒ } | S(   Ni   (   R?   t   arrayt   repeat(   R   Rê   RÐ   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   noddyÔ  s    c            s   ˆ  |  j  |  j ƒ S(   N(   R   Rê   (   R   (   Rï   (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyR   Þ  s    (   R   R   R   Rf   R   (   R!   t
   df_grouped(    (   Rï   s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt(   test_gb_apply_list_of_unequal_len_arraysÈ  s    !+1	
c          C   sp   t  i d d d d g d 6d d d d g d 6ƒ }  d	 „  } |  j d ƒ j | ƒ } t  ƒ  } t j | | ƒ d  S(
   Ni    i   t   groupsi   i   i   i   t   random_varsc         S   s   d  S(   N(    (   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt	   test_funcç  s    (   R   R   R   R   R   (   t   test_dfRô   R#   R"   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   test_groupby_apply_all_noneá  s    		c    	      C   ss  t  i d d d d g d 6d d d d g d 6ƒ }  t  i d d d d g d 6d d d d g d 6ƒ } d „  } |  j d ƒ j | ƒ } | j d ƒ j | ƒ } t j d d g d d g g d d d  g ƒ} t j d d g d d g g d d d  g ƒ} t  i d d g d 6d d g d 6d	 | ƒ} t  i d d g d 6d d g d 6d	 | ƒ} t j | | ƒ t j | | ƒ d  S(
   Ni   i   Rò   i    i   t   varsc         S   s(   |  j  d d k  r d  S|  j d d g S(   Ni    i   iÿÿÿÿ(   R¹   R   R.   (   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyRô   ô  s    R	   R   (   R   R   R   R   R´   R   R   R   (	   t   test_df1t   test_df2Rô   R]   R^   t   index1t   index2t	   expected1t	   expected2(    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   test_groupby_apply_none_firstï  s    22	#	#	c       
   C   sª   t  j t d d d g d d d g ƒ ƒ }  |  j d ƒ } | j d „  ƒ } t  j d g d d d	 t j d d g d g g d
 d d  g ƒj	 d ƒ ƒ} t
 j | | ƒ d  S(   NR   i    i   R{   t   filledt   emptyc         S   s   |  |  j  d k d S(   Ni   R   (   R   (   R{   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyR     s    R   R   R	   (   R   R   t   dictR   R   R   R   t   from_productR   t   dropR   R   (   R!   Rò   R#   R"   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt%   test_groupby_apply_return_empty_chunk  s    *c          C   sÊ   t  j i d j ƒ  d 6d d d g d 6d d d	 g d
 6ƒ }  |  j d ƒ } | j d „  ƒ } t  j i d d d d d g d 6d d d g d
 6ƒ } t j | | ƒ | j d „  ƒ } t j | | ƒ d  S(   Ns   a a bRw   i   i   i   Rx   i   i   i   R‘   c         S   s   |  |  j  ƒ  S(   N(   R˜   (   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyR     s    g      @gš™™™™™Ù?g333333ã?g      ð?c         S   s   |  |  j  ƒ  S(   N(   R˜   (   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyR     s    (   R   R   t   splitR   RŸ   R   R   R   (   R!   R=   R#   R"   (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   test_apply_with_mixed_types  s    <7(-   R    t   numpyR?   t   pytestt   pandasR   R   R   R   R   R   R   t   pandas.utilR   R   R%   R2   t   markt   xfailR4   RP   R_   Rv   Rƒ   R   R’   R”   R—   Rž   R    R¤   R§   Rª   R³   Rµ   R¶   R¼   R¾   RÛ   Ræ   Rñ   Rö   Rþ   R  R  (    (    (    s>   lib/python2.7/site-packages/pandas/tests/groupby/test_apply.pyt   <module>   sB   .	&				"	#								
	
						1					