ó
šxŠ\c           @   sF  d  d l  m Z d  d l Z d  d l m Z d  d l m Z d  d l m Z d  d l m	 Z	 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 d  d	 l m Z d  d l Z d  d
 l m Z m Z m Z m Z m Z m Z 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. e j/ d e0 e1 g ƒ d „  ƒ Z2 e j/ d e0 e1 e3 g ƒ d „  ƒ Z4 d e5 f d „  ƒ  YZ6 d e6 f d „  ƒ  YZ7 d e6 f d „  ƒ  YZ8 d e6 f d „  ƒ  YZ9 e j: j; d e j  e j e j g ƒ e j: j; d e j< d ƒ e j: j= d ƒ d „  ƒ ƒ ƒ Z> e j: j; d e j  e j e j g ƒ e j: j; d e j< d ƒ e j: j= d ƒ d „  ƒ ƒ ƒ Z? d  „  Z@ d! „  ZA d" „  ZB d# „  ZC d$ „  ZD d% „  ZE d& „  ZF e j: j; d' e jG d( ƒ d) d* f f d( d) d* f f g ƒ d+ „  ƒ ZH d, „  ZI d S(-   iÿÿÿÿ(   t   dequeN(   t   datetime(   t   Decimal(   t   combinations(   t   catch_warningst   simplefilter(   t   randn(   t   PY2t   Iterablet   StringIOt	   iteritems(   t   CategoricalDtype(   t   Categoricalt	   DataFramet   DatetimeIndext   Indext
   MultiIndext   Panelt   Seriest	   Timestampt   concatt
   date_ranget   isnat   read_csv(   t
   to_decimal(   t   testing(   t   assert_frame_equalt   makeCustomDataframet   paramsc         C   s   |  j  S(   s5   Boolean sort keyword for concat and DataFrame.append.(   t   param(   t   request(    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   sort   s    c         C   s   |  j  S(   s\   Boolean sort keyword for concat and DataFrame.append.

    Includes the default of None
    (   R   (   R   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   sort_with_none    s    t   ConcatenateBasec           B   s   e  Z d  „  Z RS(   c         C   s8   t  t j ƒ  ƒ |  _ |  j j ƒ  |  _ d |  j d <d  S(   Nt   bart   foo(   R   t   tmt   getSeriesDatat   framet   copyt   mixed_frame(   t   selft   method(    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   setup_method,   s    (   t   __name__t
   __module__R+   (    (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyR!   *   s   t   TestConcatAppendCommonc           B   sã   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z 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 RS(   sE   
    Test common dtype coercion rules between concat and append.
    c         C   sQ  t  j d ƒ t  j d ƒ t  j d ƒ g } t  j d d d ƒt  j d d d ƒt  j d d d ƒg } t  j d ƒ t  j d ƒ t  j d ƒ g } t  j d	 d
 d ƒt  j d d
 d ƒt  j d d
 d ƒg } i	 t t t g d 6d d d g d 6d t j d g d 6t  j d d d g ƒ d 6d d d g d 6| d 6| d 6| d  6| d! 6|  _	 d  S("   Ns
   2011-01-01s
   2011-01-02s
   2011-01-03t   tzs
   US/Easterns   1 dayss   2 dayss   3 dayss   2011-01t   freqt   Ms   2011-02s   2011-03t   booli   i   i   t   int64gš™™™™™ñ?gffffff
@t   float64t   Xt   Yt   Zt   categoryt   at   bt   ct   objects   datetime64[ns]s   datetime64[ns, US/Eastern]s   timedelta64[ns]s	   period[M](
   t   pdR   t	   Timedeltat   Periodt   Truet   Falset   npt   nanR   t   data(   R)   R*   t   dt_datat   tz_datat   td_datat   period_data(    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyR+   8   s*    c         C   s©   t  | t j ƒ rN | d k r6 | j d k sK t ‚ q¥ | j | k s¥ t ‚ nW t  | t j ƒ rŸ | j d ƒ r‡ | j d k sœ t ‚ q¥ | j | k s¥ t ‚ n t ‚ d S(   sr   
        Check whether obj has expected dtype depending on label
        considering not-supported dtypes
        R2   R<   t   periods	   Period[M]N(   t
   isinstanceR=   R   t   dtypet   AssertionErrorR   t
   startswitht
   ValueError(   R)   t   objt   label(    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   _check_expected_dtypeS   s    c         C   sV   xO t  |  j ƒ D]> \ } } |  j t j | ƒ | ƒ |  j t j | ƒ | ƒ q Wd  S(   N(   R
   RD   RQ   R=   R   R   (   R)   t   typt   vals(    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_dtypese   s    c         C   s©  x¢t  |  j ƒ D]‘\ } } | } | } | d k r t j t | ƒ t | ƒ ƒ } t j t | ƒ t | ƒ t | ƒ ƒ } n | | } | | | } t j | ƒ j t j | ƒ ƒ } t j | ƒ } t j | | ƒ t j | ƒ j t j | ƒ t j | ƒ g ƒ } t j | ƒ } t j | | ƒ t j | d d ƒ}	 t j | d d ƒ}
 |	 j |
 ƒ } t j | ƒ } t j | | ƒ t j | d d ƒ}	 t j | d d ƒ}
 |	 j |
 ƒ } t j | d d ƒ} t j | | ƒ t	 j
 t d d ƒ t j | ƒ j | ƒ Wd  QXt	 j
 t d d ƒ* t j | ƒ j t j | ƒ | g ƒ Wd  QXt j | ƒ j t j | ƒ d t ƒ} t j | ƒ } t j | | d t ƒt j t j | ƒ t j | ƒ g d t ƒ} t j | | d t ƒt j | ƒ j t j | ƒ t j | ƒ g d t ƒ} t j | ƒ } t j | | ƒ t j t j | ƒ t j | ƒ t j | ƒ g d t ƒ} t j | | ƒ t j | d d ƒ} t j | d d ƒ} | j | d t ƒ} t j | ƒ } t j | | d t ƒt j | | g d t ƒ} t j | | d t ƒt j | d d ƒ} t j | d d ƒ} | j | d t ƒ} t j | d d ƒ} t j | | d t ƒt j | | g d t ƒ} t j | | d t ƒd	 } t	 j
 t d | ƒ t j | ƒ j | ƒ Wd  QXt	 j
 t d | ƒ* t j | ƒ j t j | ƒ | g ƒ Wd  QXt	 j
 t d | ƒ! t j t j | ƒ | g ƒ Wd  QXt	 j
 t d | ƒ- t j t j | ƒ t j | ƒ | g ƒ Wd  QXq Wd  S(
   NR8   t   namet   xt   yt   matchs   all inputs must be Indext   ignore_indext   check_index_typesu   cannot concatenate object of type \"(.+?)\"; only pd.Series, pd.DataFrame, and pd.Panel \(deprecated\) objs are valid(   R
   RD   R=   R   t   listR   t   appendR$   t   assert_index_equalt   pytestt   raisest	   TypeErrorR   R@   t   assert_series_equalR   (   R)   t   typ1t   vals1t   vals2t   vals3t   exp_datat	   exp_data3t   rest   expt   i1t   i2t   s1t   s2t   msg(    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concatlike_same_dtypesk   s„    
!0+	$	-	+"c         C   só  xìt  |  j ƒ D]Û\ } } xÌt  |  j ƒ D]»\ } } | } d  } d  } | | k r\ q, n | d k s, | d k rz q, n  | d k r› | d
 k r› | } n` | d k r¼ | d k r¼ | } n? | d k sì | d k sì | d k sì | d k rû t } t } n  | | } | | | }	 t j | ƒ j t j | ƒ ƒ }
 t j | d | ƒ} t j |
 | ƒ t j | ƒ j t j | ƒ t j | ƒ g ƒ }
 t j |	 d | ƒ} t j |
 | ƒ t j	 | ƒ j t j	 | ƒ d t
 ƒ}
 t j	 | d | ƒ} t j |
 | d	 t
 ƒt j t j	 | ƒ t j	 | ƒ g d t
 ƒ}
 t j |
 | d	 t
 ƒt j	 | ƒ j t j	 | ƒ t j	 | ƒ g d t
 ƒ}
 t j	 |	 d | ƒ} t j |
 | ƒ t j t j	 | ƒ t j	 | ƒ t j	 | ƒ g d t
 ƒ}
 t j |
 | ƒ q, Wq Wd  S(   NR8   R2   R3   R4   s   datetime64[ns, US/Eastern]s   timedelta64[ns]RK   RY   RZ   (   R3   R4   (   R3   R4   (   R
   RD   t   NoneR<   R=   R   R\   R$   R]   R   R@   Ra   R   (   R)   Rb   Rc   t   typ2Rd   Re   t   exp_index_dtypet   exp_series_dtypeRf   Rg   Rh   Ri   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concatlike_dtypes_coercionÖ   sV    			
!	$		c      	   C   sØ  t  j d d g ƒ } t  j d d g ƒ } t  j t  j d ƒ t  j d ƒ t  j d ƒ t  j d ƒ g ƒ } | j | ƒ } t j | | ƒ t	 | d t  j ƒ s¤ t
 ‚ t	 | d t  j ƒ sÀ t
 ‚ t  j | ƒ } t  j | ƒ } | j | ƒ } t j | t  j | d d d d d g ƒƒ t	 | j d t  j ƒ s7t
 ‚ t	 | j d t  j ƒ sVt
 ‚ t  j | | g ƒ } t j | t  j | d d d d d g ƒƒ t	 | j d t  j ƒ sµt
 ‚ t	 | j d t  j ƒ sÔt
 ‚ d  S(	   Ns
   2011-01-01s
   2011-01-02s   1 dayss   2 daysi    iÿÿÿÿt   indexi   (   R=   R   t   TimedeltaIndexR   R   R>   R\   R$   R]   RJ   RL   R   Ra   t   ilocR   (   R)   t   dtit   tdiRi   Rh   t   dtst   tds(    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt.   test_concatlike_common_coerce_to_pandas_object  s(    ++c   	   	   C   s  | } t  j d d g d | ƒ} t  j d d g d | ƒ} t  j d d d d g d | ƒ} | j | ƒ } t j | | ƒ t  j | ƒ } t  j | ƒ } | j | ƒ } t j | t  j | d d d d d g ƒƒ t  j | | g ƒ } t j | t  j | d d d d d g ƒƒ d  S(	   Ns
   2011-01-01s
   2011-01-02R/   s
   2012-01-01s
   2012-01-02Ru   i    i   (   R=   R   R\   R$   R]   R   Ra   R   (	   R)   t   tz_aware_fixtureR/   t   dti1t   dti2Ri   Rh   t   dts1t   dts2(    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concatlike_datetimetz:  s    +R/   t   UTCs
   US/Easterns
   Asia/Tokyot   EST5EDTc      	   C   s  t  j d d d d d d d | ƒ } t  j d d	 g d | ƒ} t  j d
 d | d d d g ƒ} t  j d
 d | d d d g ƒ} t  j d d d d d	 g d | ƒ} t  j d
 d | d d d g ƒ} t j | j | ƒ | ƒ t j t  j | | g ƒ | ƒ d  S(   Nt   starts
   2014-07-15t   ends
   2014-07-17R0   t   DR/   s
   2014-07-11s
   2014-07-21i    Ru   t   columnst   At   Bs
   2014-07-16(   R=   R   R   R   R$   R   R\   R   (   R)   R/   t   ix1t   ix2t   df1t   df2t   exp_idxRi   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt    test_concatlike_datetimetz_shortN  s    !!!c      	   C   sa  | } t  j d d g d | ƒ} t  j d d g ƒ } t  j t  j d d | ƒt  j d d | ƒt  j d ƒ t  j d ƒ g d t ƒ} | j | ƒ } t j | | ƒ t  j | ƒ } t  j | ƒ } | j | ƒ } t j	 | t  j | d d d	 d d	 g ƒƒ t  j
 | | g ƒ } t j	 | t  j | d d d	 d d	 g ƒƒ t  j d d g d d
 ƒ}	 t  j t  j d d | ƒt  j d d | ƒt  j d d d
 ƒt  j d d d
 ƒg d t ƒ} | j |	 ƒ } t  j | ƒ } t  j |	 ƒ }
 | j |
 ƒ } t j	 | t  j | d d d	 d d	 g ƒƒ t  j
 | |
 g ƒ } t j	 | t  j | d d d	 d d	 g ƒƒ d  S(   Ns
   2011-01-01s
   2011-01-02R/   s
   2012-01-01s
   2012-01-02RK   Ru   i    i   s
   US/Pacific(   R=   R   R   R   R<   R\   R$   R]   R   Ra   R   (   R)   R}   R/   R~   R   Ri   Rh   R€   R   t   dti3t   dts3(    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt$   test_concatlike_datetimetz_to_object`  s:    ++		+c      	   C   s  t  j d d g d d ƒ} t  j d d g d d ƒ} t  j d d d d g d d ƒ} | j | ƒ } t j | | ƒ t  j | ƒ } t  j | ƒ } | j | ƒ } t j | t  j | d d d	 d d	 g ƒƒ t  j | | g ƒ } t j | t  j | d d d	 d d	 g ƒƒ d  S(
   Ns   2011-01s   2011-02R0   R1   s   2012-01s   2012-02Ru   i    i   (   R=   t   PeriodIndexR\   R$   R]   R   Ra   R   (   R)   t   pi1t   pi2Ri   Rh   t   ps1t   ps2(    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concatlike_common_period  s    +c      	   C   sN  t  j d d g d d ƒ} t  j d d g d d ƒ} t  j t  j d d d ƒt  j d d d ƒt  j d d d ƒt  j d d d ƒg d t ƒ} | j | ƒ } t j | | ƒ t  j | ƒ } t  j | ƒ } | j | ƒ } t j	 | t  j | d	 d
 d d
 d g ƒƒ t  j
 | | g ƒ } t j	 | t  j | d	 d
 d d
 d g ƒƒ d  S(   Ns   2011-01s   2011-02R0   R1   s
   2012-01-01s
   2012-02-01R‡   RK   Ru   i    i   (   R=   R”   R   R?   R<   R\   R$   R]   R   Ra   R   (   R)   R•   R–   Ri   Rh   R—   R˜   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt1   test_concatlike_common_period_diff_freq_to_object   s    !+c      	   C   sD  t  j d d g d d ƒ} t  j d d g ƒ } t  j t  j d d d ƒt  j d d d ƒt  j d ƒ t  j d ƒ g d t ƒ} | j | ƒ } t j	 | | ƒ t  j
 | ƒ } t  j
 | ƒ } | j | ƒ } t j | t  j
 | d d	 d
 d	 d
 g ƒƒ t  j | | g ƒ } t j | t  j
 | d d	 d
 d	 d
 g ƒƒ t  j t  j d ƒ t  j d ƒ t  j d d d ƒt  j d d d ƒg d t ƒ} | j | ƒ } t j	 | | ƒ t  j
 | ƒ } t  j
 | ƒ } | j | ƒ } t j | t  j
 | d d	 d
 d	 d
 g ƒƒ t  j | | g ƒ } t j | t  j
 | d d	 d
 d	 d
 g ƒƒ d  S(   Ns   2011-01s   2011-02R0   R1   s   1 dayss   2 daysRK   Ru   i    i   (   R=   R”   Rv   R   R?   R>   R<   R\   R$   R]   R   Ra   R   (   R)   R•   Ry   Ri   Rh   R—   R{   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt0   test_concatlike_common_period_mixed_dt_to_objectµ  s4    ++!+c         C   sÿ  t  j d d t j g d d ƒ} t  j d d d g d d ƒ} t  j d d t j d d d g d d ƒ} t j t  j | | g d t ƒ| ƒ t j | j | d t ƒ| ƒ t  j d d g d d ƒ} t  j d d g d d ƒ} t  j d d d d g ƒ } t j t  j | | g d t ƒ| ƒ t j | j | d t ƒ| ƒ t  j d d t j g d d ƒ} t  j t j d d d g d d ƒ} t  j d d t j t j d d d g d d	 ƒ} t j t  j | | g d t ƒ| ƒ t j | j | d t ƒ| ƒ d  S(
   Ni   i   RK   R8   RY   i   i
   i   R<   (	   R=   R   RB   RC   R$   Ra   R   R@   R\   (   R)   Rl   Rm   Ri   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_categoricalÛ  s    !*%%!$0%c         C   s¿   t  j t d d d g d d d d g ƒƒ } t  j t d d d g d d d d g ƒƒ } t  j | | g d t ƒ} t  j t d d d d d d g d d d d g ƒƒ } t j | | ƒ d  S(   NR9   R:   R;   t
   categoriesRY   (   R=   R   R   R   R@   R$   Ra   (   R)   R9   R:   t   resultt   expected(    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt6   test_union_categorical_same_categories_different_orderö  s    --!c         C   s7  t  j d d t j g d d ƒ} t  j d d d g ƒ } t  j d d t j d d d g d d ƒ} t j t  j | | g d t ƒ| ƒ t j | j | d t ƒ| ƒ t  j d d d d d t j g d d ƒ} t j t  j | | g d t ƒ| ƒ t j | j | d t ƒ| ƒ t  j d d g d d ƒ} t  j d d g ƒ } t  j d d d d g ƒ } t j t  j | | g d t ƒ| ƒ t j | j | d t ƒ| ƒ t  j d d d d g ƒ } t j t  j | | g d t ƒ| ƒ t j | j | d t ƒ| ƒ t  j d d	 t j g d d ƒ} t  j d d d g ƒ } t  j d d	 t j d d d g d d ƒ} t j t  j | | g d t ƒ| ƒ t j | j | d t ƒ| ƒ t  j d d d d d	 t j g d d ƒ} t j t  j | | g d t ƒ| ƒ t j | j | d t ƒ| ƒ t  j d d	 t j g d d ƒ} t  j d
 d d g ƒ } t  j d d	 t j d
 d d g ƒ } t j t  j | | g d t ƒ| ƒ t j | j | d t ƒ| ƒ t  j d
 d d d d	 t j g ƒ } t j t  j | | g d t ƒ| ƒ t j | j | d t ƒ| ƒ t  j d d	 g d d ƒ} t  j t j t j t j g ƒ } t  j d d	 t j t j t j g ƒ } t j t  j | | g d t ƒ| ƒ t j | j | d t ƒ| ƒ t  j t j t j t j d d	 g ƒ } t j t  j | | g d t ƒ| ƒ t j | j | d t ƒ| ƒ d  S(   Ni   i   RK   R8   R<   RY   i   i
   i   R9   R:   R;   (	   R=   R   RB   RC   R$   Ra   R   R@   R\   (   R)   Rl   Rm   Ri   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt    test_concat_categorical_coercionÿ  sP    !*%*%%%!*%*%!$%$%!'%'%c         C   sú  t  j d d t j g d d ƒ} t  j d d d g d d ƒ} t  j d d d d t j g ƒ } t  j d d t j d d d d d d d t j g d d ƒ} t j t  j | | | g d t ƒ| ƒ t j | j | | g d t ƒ| ƒ t  j d d d d t j d d t j d d d g d d ƒ} t j t  j | | | g d t ƒ| ƒ t j | j | | g d t ƒ| ƒ t  j d d d	 g d d ƒ} t  j d d d
 g d d ƒ} t  j d d
 d g ƒ } t  j d d d	 d d d
 d d
 d g	 ƒ } t j t  j | | | g d t ƒ| ƒ t j | j | | g d t ƒ| ƒ t  j d d
 d d d d	 d d d
 g	 ƒ } t j t  j | | | g d t ƒ| ƒ t j | j | | g d t ƒ| ƒ t  j d d d	 g d d ƒ} t  j d d d
 g d d ƒ} t  j d d d g ƒ } t  j d d d	 d d d
 d d d g	 ƒ } t j t  j | | | g d t ƒ| ƒ t j | j | | g d t ƒ| ƒ t  j d d d d d d	 d d d
 g	 ƒ } t j t  j | | | g d t ƒ| ƒ t j | j | | g d t ƒ| ƒ d  S(   Ni   i   RK   R8   R<   RY   i   i   i   i   i
   i   i   (	   R=   R   RB   RC   R$   Ra   R   R@   R\   (   R)   Rl   Rm   t   s3Ri   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt&   test_concat_categorical_3elem_coercion?  s:    !!3	(%3	(%*(%*(%*(%*(c   	      C   sè  t  j d d g d d ƒ} t  j d d g d d ƒ} t  j d d g ƒ } t  j d d g d d ƒ} t  j d t j g ƒ } t  j d d d g d d ƒ} t  j d d d d d d d d d t j d d d g ƒ } t  j | | | | | | g d t ƒ} t j | | ƒ | j | | | | | g d t ƒ} t j | | ƒ t  j d d d d t j d d d d d d d d g ƒ } t  j | | | | | | g d t ƒ} t j | | ƒ | j | | | | | g d t ƒ} t j | | ƒ d  S(   Ni   i   RK   R8   i   i   RY   (	   R=   R   RB   RC   R   R@   R$   Ra   R\   (	   R)   Rl   Rm   R¢   t   s4t   s5t   s6Ri   Rh   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt&   test_concat_categorical_multi_coercionk  s     9'$9'$c         C   sX  t  j t  j d d t j g d t ƒƒ } t  j t  j d d d g d t ƒƒ } t  j t  j d d t j d d d g d t ƒƒ } t j t  j | | g d t ƒ| ƒ t j | j	 | d t ƒ| ƒ t  j t  j d d t j d d d d d t j g	 d t ƒƒ } t j t  j | | | g d t ƒ| ƒ t j | j	 | | g d t ƒ| ƒ d  S(   Ni   i   t   orderedRY   (
   R=   R   R   RB   RC   R@   R$   Ra   R   R\   (   R)   Rl   Rm   Ri   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_categorical_ordered‚  s    *'3%3(c         C   sü  t  j t j t j t j g d t j ƒd d ƒ} t  j t j d g ƒ } t  j t j t j t j d g ƒ } t j t  j | | g d t	 ƒ| ƒ t j | j
 | d t	 ƒ| ƒ t  j d t j g d d ƒ} t  j t j t j g ƒ } t  j d t j t j t j g d d ƒ} t j t  j | | g d t	 ƒ| ƒ t j | j
 | d t	 ƒ| ƒ t  j t j t j g d d ƒ} t  j t j t j g ƒ } t  j t j t j t j t j g ƒ } t j t  j | | g d t	 ƒ| ƒ t j | j
 | d t	 ƒ| ƒ t j t  j | | g d t	 ƒ| ƒ t j | j
 | d t	 ƒ| ƒ t  j t j t j g d d ƒ} t  j t j t j g d d ƒ} t  j t j t j t j t j g d d ƒ} t j t  j | | g d t	 ƒ| ƒ t j | j
 | d t	 ƒ| ƒ d  S(   NRK   R8   i   RY   R<   (   R=   R   RB   t   arrayRC   R4   R$   Ra   R   R@   R\   (   R)   Rl   Rm   Ri   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt$   test_concat_categorical_coercion_nan‘  s.    *	$%*%!'%%!!-%c         C   s¯  t  j g  d d ƒ} t  j d d g d d ƒ} t j t  j | | g d t ƒ| ƒ t j | j | d t ƒ| ƒ t j t  j | | g d t ƒ| ƒ t j | j | d t ƒ| ƒ t  j g  d d ƒ} t  j g  d d ƒ} t j t  j | | g d t ƒ| ƒ t j | j | d t ƒ| ƒ t  j g  d d ƒ} t  j g  d d ƒ} t j t  j | | g d t ƒ| ƒ t j | j | d t ƒ| ƒ t j t  j | | g d t ƒ| ƒ t j | j | d t ƒ| ƒ t  j g  d d ƒ} t  j t j t j g ƒ } t  j t j t j g ƒ } t j t  j | | g d t ƒ| ƒ t j | j | d t ƒ| ƒ t j t  j | | g d t ƒ| ƒ t j | j | d t ƒ| ƒ d  S(   NRK   R8   i   i   RY   R<   (	   R=   R   R$   Ra   R   R@   R\   RB   RC   (   R)   Rl   Rm   Ri   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_categorical_empty¸  s.    %%%%%%%(   R,   R-   t   __doc__R+   RQ   RT   Ro   Rt   R|   R‚   R^   t   markt   parametrizeR   R“   R™   Rš   R›   Rœ   R    R¡   R£   R§   R©   R«   R¬   (    (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyR.   2   s,   				k	H			-			&				@	,			't
   TestAppendc           B   s  e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z e	 j
 d ƒ e	 j d d	 d
 g ƒ e	 j d d d g ƒ e	 j e d ƒ ƒ e	 j d j ƒ  ƒ e	 j d j ƒ  d e ƒe	 j e j d d d d d ƒ e j d d d d
 d ƒ e j d d d d d ƒ g ƒ g Z e	 j j d d d d g ƒ e	 j j d j ƒ  d j ƒ  g ƒ g Z e e Z e j j d e d d „  ƒd „  ƒ Z e j j d e e d d ƒd d „  ƒd  „  ƒ Z e j j d! e d d" „  ƒe j j d# e d d$ „  ƒd% „  ƒ ƒ Z  d& „  Z! d' „  Z" d( „  Z# RS()   c         C   s	  |  j  j d  } |  j  j d } |  j  j | ƒ } |  j  j | ƒ } | j | ƒ } t j | d |  j  d ƒ | d =| j | d | ƒ} d | k sœ t ‚ | j | d | ƒ} d | k sÃ t ‚ |  j d  j |  j d ƒ } t j | |  j ƒ |  j d  j |  j  d d | ƒ} |  j  d  j |  j d d | ƒ}	 t j | j d d d d d g ƒ |	 j d d d d d g ƒ ƒ t	 i  ƒ }
 |  j  j |
 ƒ } t j |  j  | ƒ | |  j  k	 s¿t ‚ |
 j |  j  ƒ } t j |  j  | ƒ | |  j  k	 sùt ‚ d } t
 j t d	 | ƒ |  j  j |  j  d
 t ƒWd  QXt	 i i d d 6d d 6d 6i d d 6d d 6d 6ƒ } t d d d g d d d d g d d ƒ} t	 i i d d 6d d 6d d 6d 6i d d 6d d 6d d 6d 6i d d 6d 6ƒ } | j | ƒ } t j | | ƒ d  S(   Ni   R‰   R   Rˆ   RŠ   t   CR‡   s   Indexes have overlapping valuesRX   t   verify_integrityi   RV   i   RW   R9   i   i   R:   i   i   Ru   R;   RU   t   z(   R&   Ru   t   reindexR\   R$   t   assert_almost_equalRL   R(   R   R   R^   R_   RN   R@   R   (   R)   R   t   begin_indext	   end_indext   begin_framet	   end_framet   appendedt   partial_appendedt   mixed_appendedt   mixed_appended2t   emptyRn   t   dft   rowRŸ   Rž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_appendá  sF    #	6*%-c         C   sƒ   t  d d d d g ƒ } t  d d d g d d d g ƒ } | j | d | ƒ} t  d d d g d d d d g ƒ } t | | ƒ d  S(	   NRˆ   R‰   RŠ   R±   Ru   i    i   R   (   R   R\   R   (   R)   R   R¿   t   df3t   df5RŸ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_append_length0_frame  s
    !$c         C   s    t  j d d d ƒ} d d g | (t  j d d d ƒ} d d d g | (t | ƒ } t | ƒ } | j | d t ƒ} t t  j | | f ƒ ƒ } t | | ƒ d  S(   Ni   RK   s	   i4,f4,a10i   g       @t   Hellog      @t   Worldi   g      @R#   i   g      @R"   g      @g       @t   bazRY   (   i   (   i   g       @RÅ   (   i   g      @RÆ   (   i   (   i   g      @R#   (   i   g      @R"   (   g      @g       @RÇ   (   RB   t   zerosR   R\   R@   t   concatenateR   (   R)   t   arr1t   arr2R   RŽ   Rž   RŸ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_append_records   s    
c         C   sL  t  j i d d g d 6d d g d 6d d d g ƒ} t  j i d d g d 6d d g d 6d	 d d g ƒ} | d  k rŽ t j t d
 t ƒ} n t j d  ƒ } |  | j | d | ƒ} Wd  QXt  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 ƒ} | t k r8| d d d g } n  t j | | ƒ d  S(   Ni   i   R9   R:   Rˆ   i   i   R;   Ru   t   check_stacklevelR   (	   R=   R   Rp   R$   t   assert_produces_warningt   FutureWarningRA   R\   R   (   R)   R    R   RŽ   t   ctxRž   RŸ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_append_sorts1  s    55c         C   s
  t  i t j j d ƒ d k d 6t j j d d d ƒ d 6t j j d ƒ d 6d d g d d	 6ƒ } | d  j d  d  … d d d g f } | d j d  d  … d	 d d g f } | j | d
 | ƒ} t | d	 d d !ƒ j ƒ  sæ t	 ‚ t | d d ƒ j ƒ  st	 ‚ d  S(   Ni
   i    t   boolst   intst   floatsR#   R"   i   t   stringsR   i   (
   R   RB   t   randomR   t   randintt   locR\   R   t   allRL   (   R)   R   R¿   R9   R:   Rº   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_append_different_columnsJ  s    &&#c         C   s  |  j  d  |  j  d d !|  j  d d !|  j  d g } | d j | d ƒ } t j | |  j  ƒ | d j ƒ  | d <d | d d <| d j | d d	 | ƒ} t j | j d  d  … |  j  j f |  j  ƒ | d d d k j ƒ  sé t ‚ | d d  j	 ƒ  j ƒ  s	t ‚ d  S(
   Ni   i
   i   i    i   iÿÿÿÿR"   R#   R   (
   R&   R\   R$   R   R'   RØ   Rˆ   RÙ   RL   R   (   R)   R   t   chunksRž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_append_manyW  s    , c         C   s¯   t  d d  d d d d g ƒ } | j d g ƒ } t  d d d d g d	 d
 d g d d d g g d d d d g ƒ } | j d g ƒ } | j | ƒ } | j j d k s« t ‚ d  S(   NRD   Rˆ   R‰   RŠ   R±   i   i   i   i   i   i   i   i   i	   (   R   Rp   t	   set_indexR\   Ru   RU   RL   (   R)   R   RŽ   Rž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_append_preserve_index_namee  s    0i   i   i   i   g      @g      @g      @t   abcs   A B Cs   D E FR¨   iÝ  i   i    i
   i   i   i   Ru   t   idsc         C   s
   |  j  j S(   N(   t	   __class__R,   (   RV   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   <lambda>…  s    c         C   sˆ  t  j d d d g d d d g g d | ƒ} | d  } t  j d d	 g d
 | d d ƒ} | j | ƒ } t  j d d d g d d d g d d	 t j g g d
 d d d g d | ƒ} t | | ƒ | } | d  } t  j d d g d d g g d | ƒ} t  j d d	 d g d
 | d d ƒ} | j | ƒ } t  j d d t j g d d t j g d d	 d g g d
 d d d g d | ƒ} t | | ƒ d  S(   Ni   i   i   i   i   i   Rˆ   i   i   Ru   RU   g      ð?g       @g      @i    i	   (   R=   R   R   R\   RB   RC   R   (   R)   Ru   R¿   t	   ser_indext   serRž   RŸ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_append_same_columns_typeƒ  s"    -
!3	
'$6	s   df_columns, series_indext   rc         C   s
   |  j  j S(   N(   Rá   R,   (   RV   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyRâ      s    c   	   	   C   s  t  j d d d g d d d g g d | ƒ} t  j d d	 d
 g d | d d ƒ} | j | ƒ } | j j | ƒ } t | j ƒ  ƒ j | ƒ } t  j d d d t j	 t j	 t j	 g d d d t j	 t j	 t j	 g t j	 t j	 t j	 d d	 d
 g g d d d d g d | ƒ} t
 | | ƒ d  S(   Ni   i   i   i   i   i   Rˆ   i   i   i	   Ru   RU   g      ð?g       @g      @i    (   R=   R   R   R\   Ru   t
   differenceR   t   tolistRB   RC   R   (	   R)   t
   df_columnst   series_indexR¿   Rä   Rž   t   idx_difft   combined_columnsRŸ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt#   test_append_different_columns_typesž  s    -$$$	t   index_can_appendc         C   s
   |  j  j S(   N(   Rá   R,   (   RV   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyRâ   ´  s    t   index_cannot_append_with_otherc         C   s
   |  j  j S(   N(   Rá   R,   (   RV   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyRâ   ·  s    c         C   s  t  j d d d g d d d g g d | ƒ} t  j d d	 d
 g d | d d ƒ} d } t j t d | j | j j ƒ ƒ | j	 | ƒ Wd  QXt  j d d d g d d d g g d | ƒ} t  j d d	 d
 g d | d d ƒ} d } t j t d | ƒ | j	 | ƒ Wd  QXd  S(   Ni   i   i   i   i   i   Rˆ   i   i   i	   Ru   RU   s”   the other index needs to be an IntervalIndex too, but was type {}|object of type '(int|long|float|Timestamp)' has no len\(\)|Expected tuple, got strRX   s×   unorderable types: (Interval|int)\(\) > (int|long|float|str)\(\)|Expected tuple, got (int|long|float|str)|Cannot compare type 'Timestamp' with type '(int|long)'|'>' not supported between instances of 'int' and 'str'(
   R=   R   R   R^   R_   R`   t   formatRá   R,   R\   (   R)   Rî   Rï   R¿   Rä   Rn   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt*   test_append_different_columns_types_raises³  s    -	$	$c         C   s  t  d d d g d t j d d d d d ƒ t j d d d d d ƒ g d d g ƒ } t  d d	 d
 g d t j d d d d d ƒ t j d d d d d ƒ g t j d d d	 d d ƒ t j d d d	 d d ƒ g g d d d g ƒ } t t t j t j t j d d d d d ƒ t j d d d	 d d ƒ g d d ƒt t j d d d d d ƒ t j d d d d d ƒ t j d d d d d ƒ t j d d d	 d d ƒ g d d ƒg d d d | ƒ} | j | d t d | ƒ} | rç| d d g } n | d d g } t	 | | ƒ d  S(   NRu   i   i   RD   iÝ  i    Rˆ   t
   start_timei   i   i   i   i
   i   t   end_timeRU   t   axisR   RY   (
   R   t   dtR   R   R   R=   t   NaTR\   R@   R   (   R)   R   R   RŽ   RŸ   Rž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_append_dtype_coerce×  s0    **!c         C   s­   t  i t j d d d d g d d ƒd 6ƒ } t  i t j t t t t g d t ƒd 6ƒ } | j | d	 t d
 | ƒ} | d j d k s t ‚ | d j d k s© t ‚ d  S(   Ni   i   i   i   RK   t   i8R‰   RŠ   RY   R   t   f8t   O(	   R   RB   Rª   R@   RA   R2   R\   RK   RL   (   R)   R   R   RŽ   Rº   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt(   test_append_missing_column_proper_upcastø  s    .c         C   sä   t  d d t j j ƒ  ƒ} t i | d 6d d 6d d 6ƒ } t d d	 d
 g ƒ } | j | d t ƒ} t t j	 t j	 d d | g g d d	 d
 d d d g d t
 ƒ} | d j t ƒ | d <| d j t ƒ | d <t | | ƒ d  S(   Ns   2018-10-24 07:30:00R/   t   dateg      ð?R9   g       @R:   Rˆ   R;   t   dRY   RK   (   R   t   dateutilR/   t   tzutcR   R   R\   R@   RB   RC   R<   t   astypet   floatR   (   R)   Rü   t   sR¿   Rž   RŸ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt2   test_append_empty_frame_to_series_with_dateutil_tz  s    !!	($   R,   R-   RÁ   RÄ   RÌ   RÑ   RÚ   RÜ   RÞ   R=   t
   RangeIndexR   R[   t   CategoricalIndext   splitR@   R   Rõ   R   t   indexes_can_appendt   IntervalIndext   from_breaksR   t   from_arrayst    indexes_cannot_append_with_othert   all_indexesR^   R®   R¯   Rå   R   Rí   Rñ   R÷   Rû   R  (    (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyR°   ß  sB   	7						$'
	 	!		t   TestConcatenatec           B   sÅ  e  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 e j j d ƒ d „  ƒ Z e j j d ƒ e j j d ƒ d „  ƒ ƒ Z d „  Z e 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, „  Z0 e j j1 d- dO d. g ƒ e j j1 d/ dO d. g ƒ e j j1 d0 e3 j4 e3 j5 d1 ƒ g ƒ d2 „  ƒ ƒ ƒ Z6 e j j1 d- dO d. g ƒ e j j1 d/ dO d. g ƒ d3 „  ƒ ƒ Z7 e j j1 d- dO d. g ƒ e j j1 d/ dO d. g ƒ d4 „  ƒ ƒ Z8 e j j1 d5 dO d. g ƒ d6 „  ƒ Z9 d7 „  Z: d8 „  Z; d9 „  Z< d: „  Z= e j j1 d5 dO d. g ƒ e j j1 d; g  d< d= d> g g ƒ d? „  ƒ ƒ Z> d@ „  Z? dA „  Z@ dB „  ZA dC „  ZB dD „  ZC dE „  ZD dF „  ZE dG „  ZF dH „  ZG dI „  ZH dJ „  ZI dK „  ZJ e j jK eL dL dM ƒdN „  ƒ ZM RS(P   c         C   sQ  t  t j j d d ƒ ƒ } t  t j j d d d d ƒj d d ƒ ƒ } t  i d d 6d	 t d ƒ ƒ} t | | | g d
 d d t ƒ} x, | j	 j
 D] } | j j d  k s• t ‚ q• Wt | | | g d
 d d t ƒ} x  | j	 j
 D]’ } | j r| j j | j	 j
 d j j k swt ‚ qå | j rS| j j | j	 j
 d j j k swt ‚ qå | j rå | j j d  k	 swt ‚ qå qå Wt  t j j d d ƒ ƒ } t | | | | g d
 d d t ƒ} x | j	 j
 D]‚ } | j rñ| j j d  k sIt ‚ qÇ| j r%| j j | j	 j
 d j j k sIt ‚ qÇ| j rÇ| j j d  k	 sIt ‚ qÇqÇWd  S(   Ni   i   i    i
   t   sizei   R#   i   Ru   Rô   R'   (   R   RB   RÖ   R   R×   t   reshapet   rangeR   R@   t   _datat   blockst   valuest   baseRp   RL   RA   t   is_floatt
   is_integert	   is_object(   R)   R¿   RŽ   RÂ   Rž   R:   t   df4(    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_copy  s.    -!!	+	+	$		+	c      	   C   sv  t  t j j d d ƒ ƒ } t  t j j d d ƒ ƒ } t  t j j d d ƒ ƒ } t  t j j d d ƒ ƒ } t | | g d d d g ƒ} t j d d d d d d d g d d d d d d d g g ƒ } t  t j | j | j f d | ƒ} t	 j
 | | ƒ t | | g d d d g ƒ} t j d d d d d d g d d d d d d g g ƒ } t  t j | j | j f d | ƒ} t	 j
 | | ƒ t  t j j d d ƒ ƒ } t  t j j d d ƒ ƒ } t | | g d d d g d d ƒ} t  t j | j | j f d	 | ƒ} t	 j
 | | ƒ t | | g d d d g d d ƒ} t  t j | j | j f d	 | ƒ} t	 j
 | | ƒ d  S(
   Ni   i   t   keysi    i   i   Ru   Rô   Rˆ   (   R   RB   RÖ   R   R   R   R
  t   r_R  R$   R   t   c_(   R)   R¿   RŽ   Rž   t	   exp_indexRŸ   t
   exp_index2(    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_with_group_keys8  s4    !		$	$	c      
   C   sú   t  t j j d d ƒ ƒ } | j d  d  … d d g f | j d  d  … d g f | j d  d  … d g f g } d d d	 d
 g } t | d d d d	 d d g d | g d d g ƒ} t j | j j	 d t
 | d d ƒƒ | j j d d k sö t ‚ d  S(   Ni
   i   i    i   i   i   t   threet   twot   onet   zeroRô   R  t   levelst   namest	   group_keyRU   (   R   RB   RÖ   R   Rw   R   R$   R]   Rˆ   R$  R   R%  RL   (   R)   R¿   t   piecest   levelRž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt    test_concat_keys_specific_levels\  s    T	c      	   C   sÃ   t  i t d d d g d t d d d g d d	 ƒƒd
 6ƒ } t  i t d d g d t d d g d d	 ƒƒd
 6ƒ } t | | g d d d d d g d | ƒ} t | j ƒ d d g k s¿ t ‚ d  S(   Ni   i   i   Ru   R9   R:   R;   RU   t   idt   valuei   i   Rô   R  t   t1t   t2R   (   R,  R+  (   R-  R+  (   R   R   R   R   R[   Rˆ   RL   (   R)   R   R,  R-  Rž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_dataframe_keys_bugh  s    $1*c         C   s  t  d d g d d ƒ} t  d d g ƒ } t  d d g ƒ } t | | | g d d ƒ} t i d d g d 6d d g d 6d d g d 6d	 d d d g ƒ} t j | | ƒ t | | | g d d d
 d d d g ƒ} t i d d g d 6d d g d 6d d g d 6d	 d d d g ƒ} t j | | ƒ t | | | g d d d t ƒ} t i d d g d 6d d g d 6d d g d 6ƒ } t j | | ƒ d  S(   Ni   i   RU   R#   i   i   Rô   i    Rˆ   R  t   redt   bluet   yellowRY   (   R   R   R   R$   R   R@   (   R)   R#   R"   RÇ   Rž   RŸ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt(   test_concat_series_partial_columns_namess  s     " "!3c         C   sv  i t  t j j d d ƒ ƒ d 6t  t j j d d ƒ ƒ d 6t  t j j d d ƒ ƒ d 6t  t j j d d ƒ ƒ d 6} t | ƒ } t | ƒ } t g  | D] } | | ^ q˜ d | ƒ} t j | | ƒ t | d d	 ƒ} t g  | D] } | | ^ qã d | d d	 ƒ} t j | | ƒ d d d g } t | d | ƒ} t g  | D] } | | ^ qCd | ƒ} t j | | ƒ d  S(
   Ni   i   R#   R"   RÇ   t   quxR  Rô   i   (   R   RB   RÖ   R   t   sortedR   R$   R   (   R)   t   framest   sorted_keysRž   t   kRŸ   R  (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_dictˆ  s     )&	)c         C   sK  t  i d d d g d 6d d d g d 6d	 d
 d g d 6ƒ } t  i d d d g d 6ƒ } t d d d g ƒ | _ t d d d g ƒ | _ t | | g d d d t d | ƒ} t j } t  | | | d g d d d	 d g d d d
 d g d d d | g g d t d d d d g ƒ ƒ} | s7| j d d d d g } n  t j	 | | ƒ d  S(   NR9   R:   R;   t   test1i   i   i   t   test2g      @gš™™™™™	@g333333ó?t   test3gÍÌÌÌÌÌ@gš™™™™™@g333333@RV   RW   R³   t   qRô   RY   R   Ru   (
   R   R   Ru   R   R@   RB   RC   RØ   R$   R   (   R)   R   t   frame1t   frame2t   v1RC   RŸ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_ignore_indexž  s"    	c         C   sJ  t  d d d d d g d d d g g d	 d
 d
 d
 d d d d d d d g
 d
 d d d
 d d d d
 d d g
 g d d d g ƒ } t t j j d d ƒ d | d t d d d g d d ƒƒ} t | | g d d
 d g d d g ƒ} | j j d | j k s t	 ‚ t
 j | j d
 | ƒ t
 j | j d | ƒ | j j d k sFt	 ‚ d  S(   NR$  R#   R"   RÇ   R3  R"  R!  R   t   codesi    i   i   i   R%  t   firstt   secondi
   Ru   Rˆ   R‰   RŠ   R±   RU   Ri   R  t	   iteration(   RD  (   R   R   RB   RÖ   R   R   R   Ru   R%  RL   R$   R   RØ   t   nlevels(   R)   Ru   R&   Rž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt    test_concat_multiindex_with_keys´  s    !''c         C   sd  t  i t d d d ƒ t d d d ƒ t d d d ƒ g d 6d d d g d	 6d d d g d
 6d d d g d 6ƒ } | d j d „  ƒ | d <| j d d	 g ƒ } t d d d g d d d d d ƒ} t d d d g d d d	 ƒ} t j | | g ƒ } t  i d d d g d d
 6d d d g d d 6d | d d
 d g ƒ} t | | g ƒ } t	 j
 | | ƒ d  S(   NiÞ  i   i   i   Rõ   R‰   RŠ   R±   R:   R;   i   i   i   Rý   c         S   s   t  |  d d ƒS(   NR/   s
   US/Pacific(   R   (   Rý   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyRâ   Ê  s    s
   2014-01-01s
   2014-01-02s
   2014-01-03R/   s
   US/PacificRU   Ru   Rˆ   (   R   R   t   applyRÝ   R   R   R   R
  R   R$   R   (   R)   R¿   t   exp_idx1t   exp_idx2R   RŸ   Rž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_multiindex_with_tzÃ  s     &	1c   	      C   sÛ  t  j j d g t d ƒ g d d d  g ƒ} t  j i t d ƒ d 6d | d t j ƒ} t | | g d d d	 g d d
 g ƒ} t  j j d d	 g d g t d ƒ g d d
 d d  g ƒ} t  j i t	 t d ƒ ƒ d	 d 6d | d t j ƒ} t
 | | ƒ t | | d	  g d d d	 g d d
 g ƒ} d g d d	 g d	 } d g d } t	 t d ƒ ƒ t	 t d	 ƒ ƒ } t	 t | | | ƒ ƒ } t  j j | d d
 d d  g ƒ} t  j i | d 6d | d t j ƒ} t
 | | ƒ d  S(   Ni   i   R%  t   level1t   colRu   RK   R  i   t   level2i   (   R=   R   t   from_productR  Rp   R   RB   t   int32R   R[   R   t   zipt   from_tuples(	   R)   Ru   R¿   Rž   RŸ   RM  RK  t   no_namet   tuples(    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt/   test_concat_multiindex_with_none_in_index_namesØ  s&    +''#+"c      
   C   sä  t  t j j d d ƒ ƒ } t  t j j d d ƒ ƒ } d d g d d g g } d d	 g } t | | | | g d
 d d d d g d | d | ƒ} t | | | | g ƒ } t d | d g g d d d d d g d d d d g d d d d g g d | d  g ƒ } | | _ t j	 | | ƒ t | | | | g d
 d d d d g d | ƒ} | j j
 d k sbt ‚ t | | | | g d
 d d d d g d d d	 g ƒ} | j j
 d d k s´t ‚ t j | j j d t d d g d d ƒƒ d  S(    Ni   i   i   R#   RÇ   R"  R!  RB  RC  R  R$  R%  i    RA  RU   (   R#   R"  (   R#   R!  (   RÇ   R"  (   RÇ   R!  (   R#   R"  (   R#   R!  (   RÇ   R"  (   RÇ   R!  (   N(   NNN(   R#   R"  (   R#   R!  (   RÇ   R"  (   RÇ   R!  (   RB  RC  (   N(   R   RB   RÖ   R   R   R   Rp   Ru   R$   R   R%  RL   R]   R$  R   (   R)   R¿   RŽ   R$  R%  Rž   RŸ   R  (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_keys_and_levelsð  s8    			c         C   sì   t  t j j d d ƒ d d g ƒ} t  t j j d d ƒ d d g ƒ} d } t j t d | ƒ3 t | | g d	 d
 d g d d d d g g ƒWd  QXd } t j t d | ƒ3 t | | g d	 d
 d g d d d d g g ƒWd  QXd  S(   Ni   i   Ru   R9   i   R:   s    Values not found in passed levelRX   R  R"  R!  R$  R#   R"   RÇ   s   Key one not in level(   R   RB   RÖ   R   R^   R_   RN   R   (   R)   R¿   RŽ   Rn   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt"   test_concat_keys_levels_no_overlap  s    $$%c      	   C   s3  t  t j j d d ƒ d t d ƒ d t t d ƒ d d ƒƒ} t  t j j d d ƒ d t d ƒ d t t d ƒ d d ƒƒ} t | | g d	 d
 d g d d d g ƒ} t | | g d	 d
 d g d d g ƒ} t | j j ƒ } d | d <| j j	 | d t
 ƒt j | | ƒ | j j | j j k s/t ‚ d  S(   Ni   Rˆ   t   ABCRu   Rß   RU   t   index_at   index_bR  t   key0t   key1R%  t   lvl0t   lvl1i   t   inplace(   R   RB   RÖ   t   randR[   R   R   Ru   R%  t	   set_namesR@   R$   R   RL   (   R)   R9   R:   Rž   Ri   R%  (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_rename_index#  s    '
c         C   s&  d d d d g } t  i t j d d d d g d	 d
 ƒd 6t j d d d d g d	 d ƒd 6t j d d d d g d	 d
 ƒd 6t j d d d d g d	 d ƒd 6d | ƒ} t  i t j d d d d g d	 d ƒd 6t j d d d d g d	 d
 ƒd 6t j d d d d g d	 d ƒd 6t j d d d d g d	 d
 ƒd 6d | ƒ} | j | d t ƒ} t  t j | j | j g d d ƒd | ƒ} t j | | ƒ t  t j	 j
 d d ƒ d d g ƒ} t  t j	 j
 d d ƒ d d g ƒ} t | | g d d d g d d d g ƒ} | j j d k s"t ‚ d  S(   NR‰   RŠ   R±   R‡   i   i   i   i   RK   Rù   Rø   Rˆ   RY   Rô   i    Ru   R9   R:   R  R"  R!  R%  RB  RC  (   RB  RC  (   R   RB   Rª   R\   R@   RÉ   R  R$   R   RÖ   R   R   Ru   R%  RL   (   R)   Rˆ   R   RŽ   Rº   RŸ   R¿   Rž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt    test_crossed_dtypes_weird_corner6  s(    (""%	(""%	$	$$'c         C   s¿  t  t j j d d d d ƒj d d ƒ d d d d d g ƒ} t | | g d	 d
 ƒ} t | j d  d  … d  d … f | ƒ t | j d  d  … d d  … f | ƒ t | | g d	 d ƒ} t | j d  | ƒ t | j d | ƒ t t  t j j d d ƒ d d d d d g ƒt  t j j d d d d ƒj d d ƒ d d d g ƒg d	 d
 ƒ} t | | g d	 d
 ƒ} t | j d  d  … d  d … f | ƒ t | j d  d  … d d  … f | ƒ t | | g d	 d ƒ} t | j d  | ƒ t | j d | ƒ | j d d … d  d  … f j	 | j d ƒ } t | | ƒ | j d d … d  d  … f j	 | j d d !ƒ j	 | j d d !ƒ } t | | ƒ t | | g d	 d ƒ} | j	 | ƒ } t | | ƒ d  S(   Ni    i
   R  i(   i   Rˆ   R‰   R±   Rô   i   RŠ   i   i   i   i   i	   (
   R   RB   RÖ   R×   R  R   R   Rw   R   R\   (   R)   R¿   Rž   RŸ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_dups_indexO  s6    !&&	&&/Ec         C   sf   t  i d d 6d d	 6d t d ƒ ƒ} t  i d d 6d d
 6d t d ƒ ƒ} t | | g d | ƒd  S(   NR#   u   AR"   u   Bi   Ru   i   R   (   u   Bi   (   u   Bi   (   R   R  R   (   R)   R   R   RŽ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_with_mixed_tuplesy  s    &&c   	   	   C   s¥  t  t j j d d ƒ d t d ƒ ƒ} | d  j ƒ  } d | d <| d d !} | | | | d g } t | d d	 d
 | ƒ} | j d d d d d d g ƒ } | d j d ƒ | d <d | j	 d	 d … d f <t
 j | | ƒ t  t d t d ƒ ƒ d t d d d d d ƒƒ} t  ƒ  } t | | g d d ƒ} t | | ƒ t | | g d d ƒ} t | | ƒ t | | g ƒ } t | | ƒ t | | g ƒ } t | | ƒ d  S(   Ni
   i   Rˆ   t   abcdi   R"   R#   Rô   i    R   R9   R:   R;   Rý   Rú   R‰   i'  Ru   t   20130101t   periodsR0   R  i   (   R   RB   RÖ   R   R[   R'   R   R´   R   RØ   R$   R   t   dictR  R   (	   R)   R   R¿   RÇ   R¾   R5  t	   concattedRŸ   Rž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_handle_empty_objects‚  s*    '
!	c   
      C   sM  t  d d d d d ƒ} t j d d d ƒ} t | d | ƒ} t | d | ƒ} t | j d	 d
 ƒ d | ƒ} t t j | d ƒ j d	 d ƒ d | d d d g ƒ} t | | g d d
 ƒ} t | | ƒ t t j | d ƒ j d	 d ƒ d | d d d
 g ƒ} t | | g d d
 ƒ} t | | ƒ t t j | d ƒ j d	 d ƒ d | d d d
 d g ƒ} t | | | g d d
 ƒ} t | | ƒ t t j | d ƒ j d	 d ƒ d | d d d d
 d d g ƒ} t | | | | | g d d
 ƒ} t | | ƒ d | _	 t t j | d ƒ j d	 d ƒ d | d d d d g ƒ} t | | | g d d
 ƒ} t | | ƒ d | _	 t t j | d ƒ j d	 d ƒ d | d d d d g ƒ} t | | | g d d
 ƒ} t | | ƒ t t j | d ƒ j d	 d ƒ d | d d d
 d g ƒ} t | | | g d d
 d t
 ƒ} t | | ƒ t t j | d ƒ j d	 d
 ƒ d | j ƒ  d d d g ƒ} t | | | g ƒ } t | | ƒ t t j | d ƒ j d	 d
 ƒ d d g ƒ} t | | | g d t
 ƒ} t | | ƒ t d t
 ƒ V t d t ƒ t j ƒ  } d }	 t j t d |	 ƒ t | | g d d
 ƒWd  QXWd  QXd  S(   Ns   01-Jan-2013Rg  i
   R0   t   HRK   R3   Ru   iÿÿÿÿi   i   Rˆ   i    Rô   i   i   R#   R"   RY   t   recordt   ignores>   cannot concatenate unaligned mixed dimensional NDFrame objectsRX   (   R   RB   t   arangeR   R   R  t   repeatR   R   RU   R@   t   tileRè   R   R   RÏ   R$   t	   makePanelR^   R_   RN   (
   R)   Ru   t   arrRl   Rm   R¿   RŸ   Rž   t   panelRn   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_mixed_objs¡  s`    !!!!!	!	!!!!-c         C   sŒ   t  d d d  g d d  g g d d d g ƒ } t  d d d  g d d  g g d d d g ƒ } t | | g ƒ } | j } t j | j | ƒ d  S(	   NRD   i   i   Rˆ   R9   R:   i   i   (   R   Rp   R   t   dtypesR$   Ra   (   R)   R   RŽ   Rž   RŸ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_empty_dtype_coerceç  s
    --	c         C   sJ  t  i t j d ƒ j d ƒ t j g d 6ƒ } t | j d g | j d g g ƒ } t j | j	 | j	 ƒ d d  l
 } t  i | j
 d d d ƒ | j
 d d d	 ƒ g d 6ƒ } t | j d g | j d g g ƒ } t j | j	 | j	 ƒ t  i d
 g d  g d d 6ƒ } t | j d g | j d g g ƒ } t j | j	 | j	 ƒ d  S(   NRf  Rƒ   Rü   i    i   iÿÿÿÿiÜ  iô  i   s
   some wordsi	   t   text(   R   R=   R   t   tz_localizeRö   R   Rw   R$   Ra   Ru  R   Rp   (   R)   R¿   Rž   R   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_dtype_coerceionõ  s    &&!&s   ignore:\nPanel:FutureWarningc         C   sÇ  t  j ƒ  } | j d  d  … d  d … d  d  … f } | j d  d  … d d  … d  d  … f } t | | g d d ƒ} t  j | | ƒ | j d  d  … d  d  … d  d … f } | j d  d  … d  d  … d d  … f } t | | g d d ƒ} t  j | | ƒ | j d  d … d  d  … d  d … f } | j d  d  … d  d  … d d  … f } d | d <t | | g d d ƒ} | j ƒ  } | d j d ƒ | d <d | j d d  d  … d  d … f <t  j | | ƒ d  S(   Ni   Rô   i   i   RÇ   t   ItemCRú   (   R$   Rq  Rw   R   t   assert_panel_equalR'   R   RØ   (   R)   Rs  t   p1t   p2Rž   RŸ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_panel_concat_other_axes
  s"    ((((((
"s   ignore:Using:FutureWarningc         C   sŠ   d „  } | ƒ  } | ƒ  } | j  d d „  | j Dƒ ƒ } | j  d d „  ƒ } | j  d d „  ƒ } t | | g d d d	 t d
 | ƒd  S(   Nc              sA   d ‰ d ‰  ‡  ‡ f d †  ‰ t  ‡ f d †  d d d g Dƒ ƒ S(   Ni   i   c       	      s_   t  t j j ˆ ˆ  ƒ d g  t ˆ ƒ D] }  d |  ^ q% d g  t ˆ  ƒ D] }  d |  ^ qH ƒS(   NRu   s   I%sRˆ   s   C%s(   R   RB   RÖ   R   R  (   t   i(   t   colsRu   (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyR¿   /  s    #c            s    i  |  ] } ˆ  ƒ  d  | “ q S(   s   Item%s(    (   t   .0RV   (   R¿   (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pys
   <dictcomp>3  s   	 R‰   RŠ   R±   (   R   (    (    (   R€  R¿   Ru   s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt
   make_panel+  s    t
   major_axisc         S   s   i  |  ] } d  | | “ q S(   s   %s_1(    (   R  RV   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pys
   <dictcomp>8  s   	c         S   s   d |  S(   Ns   %s_1(    (   RV   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyRâ   ;  s    t
   minor_axisc         S   s   d |  S(   Ns   %s_1(    (   RV   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyRâ   <  s    Rô   i   R²   R   (   t   renameRƒ  R   R@   (   R)   R   R‚  t   panel1t   panel2t   panel3(    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_panel_concat_buglet&  s    	
		c         C   s?  t  j ƒ  } d | _ | d  | d d !| d g } t | ƒ } t  j | | ƒ | j | j k sg t ‚ t | d d d d g ƒ} | j ƒ  } t t j	 | j
 j d d	 ƒƒ | _
 t j d d d g g  | D] } t | ƒ ^ qË ƒ t j t | ƒ ƒ g } t d
 d d d g | j
 g d | ƒ } | | _
 t  j | | ƒ d  S(   NR#   i   i   R  i    i   i   RK   s   M8[ns]R$  RA  (   R$   t   makeTimeSeriesRU   R   Ra   RL   R'   R   RB   Rª   Ru   R  Ro  t   lenRn  R   (   R)   t   tsR'  Rž   RŸ   RV   t	   exp_codesR  (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_seriesA  s    	$1		c         C   só  t  j ƒ  } | d  | d | d d !g } t | d d ƒ} t | ƒ j } t | | ƒ t | d d d d g d d ƒ} t | d	 d d d g ƒj } t | | ƒ t t d
 ƒ d d ƒ} t t d
 ƒ d d ƒ} t | | g d d ƒ} t i | d 6| d 6ƒ } t | | ƒ d  | _	 t | | g d d ƒ} t  j
 | j t d d g d d ƒƒ t t d ƒ d	 d d d g d d ƒ} t t d ƒ d	 d d d d g d d ƒ} t | | g d d d | ƒ} t i | d 6| d 6ƒ } t | | ƒ d  S(   Niþÿÿÿi   Rô   i   R  R‰   RŠ   R±   Ru   i   RU   i    RK   R<   i   R;   R9   R:   i   Rý   R   (   R$   RŠ  R   R   t   TR   R   R   Rp   RU   R]   Rˆ   R   (   R)   R   RŒ  R'  Rž   RŸ   R  Rm   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_series_axis1X  s,    !	'*c      	   C   s/  t  d d d g ƒ } t  d d d g ƒ } t | | g d d d d	 d
 g d d g ƒ} t d d g d d g d d g g d t j d	 d
 g d d ƒƒ} t | | ƒ t | | g d d d d d g d d d g ƒ} t d d g d d g d d g g d t j d d g d d d g ƒƒ} t | | ƒ d  S(   Ni   i   i   i   i   i   Rô   R  R9   R:   R%  R‰   Rˆ   RU   RŠ   (   R9   i   (   R:   i   (   R9   i   (   R:   i   (   R   R   R   R=   R   R   R   RQ  (   R)   R  Rm   Rž   RŸ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt&   test_concat_series_axis1_names_appliedy  s    -$!$		c         C   si   t  t j j d d ƒ ƒ } t | g d d g ƒ} t | | g d d d g ƒ} t j | | d  ƒ d  S(   Ni
   i   R  R#   R"   (   R   RB   RÖ   R   R   R$   R   (   R)   R¿   Rž   RŸ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_single_with_keyŠ  s    c         C   s   t  t j j d d ƒ ƒ } | d  d  d  | d g } t | ƒ } t j | | ƒ t j	 t
 d d ƒ t d  d  g ƒ Wd  QXd  S(   Ni
   i   i   RX   s   All objects passed were None(   R   RB   RÖ   R   Rp   R   R$   R   R^   R_   RN   (   R)   R¿   R'  Rž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_exclude_none‘  s    c         C   s‘   d d l  m } | d d d ƒ} t i | d 6ƒ } t | | g ƒ } | j d  d | k j ƒ  sj t ‚ | j d d | k j ƒ  s t ‚ d  S(   Niÿÿÿÿ(   R   s   1/1/2000Rg  i
   t   time(   t   pandas.core.indexes.datetimesR   R   R   Rw   RÙ   RL   (   R)   R   t   rngR¿   Rž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_datetime64_blockš  s    #c         C   sš   d d l  m } | t j d ƒ d d ƒ} t i | d 6ƒ } t | | g ƒ } | j d  d | k j ƒ  ss t ‚ | j d d | k j ƒ  s– t ‚ d  S(   Niÿÿÿÿ(   t   to_timedeltai
   t   unitR  R”  (	   t   pandasR˜  RB   Rn  R   R   Rw   RÙ   RL   (   R)   R˜  R–  R¿   Rž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_timedelta64_block¥  s    #c         C   s"  t  d d d g d d d g d d d g g ƒ } t t d d  d | d | d  d | d	  d
 | ƒ ƒ } t t d | d | d  d | d	  d
 | ƒ ƒ } t j | | ƒ t d  | | d  | d	  | g d d d d d d
 g ƒ} t | | d  | d	  | g d d d d d
 g ƒ} t j | | ƒ d  S(   Ni
   i   i   R9   R:   R;   i   Rý   i   t   eR  (   R   R   Rh  Rp   R$   R   (   R)   t   df0Rž   RŸ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_keys_with_none°  s    05/ c         C   sƒ   t  j ƒ  } t  j ƒ  d  d  d … } t | | g d d d d ƒ} t | | g d d d d ƒ} t | ƒ t | ƒ k s t ‚ d  S(   Ni   t   joint   outerRô   i   (   R$   RŠ  R   R‹  RL   (   R)   t   ts1t   ts2t   leftt   right(    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_bug_1719¾  s
    c         C   sŒ   t  t j d ƒ ƒ } t  t j d ƒ ƒ } d | _ | _ t | | g d d ƒ} t i | d 6| d 6ƒ } d d g | _ t | | ƒ d  S(   Ni   s	   same nameRô   i   i    (	   R   RB   RÈ   t   onesRU   R   R   Rˆ   R   (   R)   t   ts0R¡  Rž   RŸ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_bug_2972É  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ƒ } t  i d d d	 d
 g d 6d d d d g d 6d d d d g d 6ƒ } t  d d d d d d g d d d d d d g d d d d	 d d g d d d d
 d d g g ƒ } d d d d d d g | _ t | | g d d ƒ} t | | ƒ d  S(   Ni    t   firmNoi   t   prct   rrrt	   stringvari	   i
   i   i   R±   i   i   i   i   t   miscRô   (   R   Rˆ   R   R   (   R)   R   RŽ   RŸ   Rž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_bug_3602Ó  s    ,,c         C   s·   t  j ƒ  } t  j i d d g d 6d d d g d d ƒ} t  j i g  d 6d g  d d ƒ} xT d | f d	 | f g D]: \ } } t  j | | g d
 d d | ƒ} t | | ƒ qu Wd  S(   Ni   i   R9   Ru   i    RK   R3   t   innerR   Rô   RŸ  (   R=   R   R   R   (   R)   t   df_emptyt   df_at   df_expectedt   howRŸ   Rž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_inner_join_emptyã  s    ."%!c         C   s«   t  d d d d ƒd d !} t t t | ƒ ƒ d | d d	 ƒ} t t t | ƒ ƒ d | d d	 ƒ} t | | g d
 d d t ƒ} t d d g ƒ } t j | j	 | ƒ d  S(   Ns   01-Jan-2013s   01-Jan-2014R0   t   MSi    iÿÿÿÿRu   RU   R+  Rô   i   RY   (
   R   R   R   R‹  R   R@   R   R$   R]   Rˆ   (   R)   t   datesRl   Rm   Rž   RŸ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt0   test_concat_series_axis1_same_names_ignore_indexí  s    $$c            sT  t  d d d g ƒ ‰  t  d d d g ƒ ‰ t  d d d d d d g ƒ } t t ˆ  ˆ f d t ƒ| ƒ t t ˆ  ˆ g d t ƒ| ƒ t t d „  ˆ  ˆ f Dƒ d t ƒ| ƒ t t t ˆ  ˆ f ƒ d t ƒ| ƒ d	 t f ‡  ‡ f d
 †  ƒ  Y} t t j | ƒ  d t ƒ| ƒ d t f ‡  ‡ f d †  ƒ  Y} t t j | ƒ  d t ƒ| ƒ d  S(   Ni   i   i   i   i   i   RY   c         s   s   |  ] } | Vq d  S(   N(    (   R  R¿   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pys	   <genexpr>ÿ  s    t   CustomIterator1c              s#   e  Z d  „  Z ‡  ‡ f d †  Z RS(   c         S   s   d S(   Ni   (    (   R)   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   __len__  s    c            s8   y i ˆ  d 6ˆ d 6| SWn t  k
 r3 t ‚ n Xd  S(   Ni    i   (   t   KeyErrort
   IndexError(   R)   Ru   (   R   RŽ   (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   __getitem__	  s    (   R,   R-   R¹  R¼  (    (   R   RŽ   (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyR¸    s   	t   CustomIterator2c              s   e  Z ‡  ‡ f d  †  Z RS(   c         3   s   ˆ  Vˆ Vd  S(   N(    (   R)   (   R   RŽ   (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   __iter__  s    (   R,   R-   R¾  (    (   R   RŽ   (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyR½    s   (   R   R   R   R@   R    R<   R=   R   (   R)   RŸ   R¸  R½  (    (   R   RŽ   s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_iterables÷  s    "
c         C   sz   t  d d ƒ } d } x^ d t ƒ  d d g d g D]A } t j t d | j t | ƒ ƒ ƒ t | | g ƒ Wd  QXq1 Wd  S(   Ni
   i   sp   cannot concatenate object of type "{}"; only pd.Series, pd.DataFrame, and pd.Panel \(deprecated\) objs are validi   RX   (   i   i   (   t   mkdfRh  R^   R_   R`   Rð   t   typeR   (   R)   R   Rn   RO   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_invalid  s
    "%c         C   sº   t  d d ƒ } t  d d ƒ } d } t j t d | ƒ t | | ƒ Wd  QXt d „  t d ƒ Dƒ ƒ d } t t | ƒ d d	 ƒ} t | d
 t ƒ} t t | ƒ ƒ } t	 | | ƒ d  S(   Ni
   i   s^   first argument must be an iterable of pandas objects, you passed an object of type "DataFrame"RX   c         s   s*   |  ]  } t  t j j d  d  ƒ ƒ Vq d S(   i   N(   R   RB   RÖ   R_  (   R  t   _(    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pys	   <genexpr>-  s    i   si   index,A,B,C,D
foo,2,3,4,5
bar,7,8,9,10
baz,12,13,14,15
qux,12,13,14,15
foo2,12,13,14,15
bar2,12,13,14,15
t	   chunksizei   RY   (
   RÀ  R^   R_   R`   R   R  R   R	   R@   R   (   R)   R   RŽ   Rn   RD   t   readerRž   RŸ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt"   test_concat_invalid_first_argument$  s    c         C   sÙ  t  t d d d d d d ƒƒ } t  t j d d d	 g d
 d ƒ} t  | d | d	 t j t j g ƒ } t | | g d t ƒ} t j | | ƒ t  t j d t d ƒ d
 d ƒ} t j | | g d t ƒ} t j | | ƒ t j  t j d d d d ƒƒ } t j  t j d d d d ƒƒ } t j | (t j  | d | d	 t j t j g ƒ } t j | | g d t ƒ} t j | | ƒ t j | (t j  t j d t d ƒ d
 d ƒ} t j | | g d t ƒ} t j | | ƒ d  S(   Ns   20151124 08:00s   20151124 09:00R0   t   1hR/   s
   US/EasternRu   i    i   RK   s   datetime64[ns, US/Eastern]RY   i   s   20151124 10:00s   20151124 11:00s   datetime64[ns](	   R   R   R=   Rö   R   R@   R$   Ra   R  (   R)   RV   RW   RŸ   Rž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_NaT_series?  s.    !&	
)
	c      	   C   sƒ   t  t d t j d d d ƒd t j d d d ƒƒ d t d	 ƒ ƒ} t j | j j ƒ  | j j ƒ  g d
 d ƒ} t	 | | ƒ d  S(   NR‰   t   20130102R/   s
   US/EasternRŠ   t   20130603t   CETRu   i   Rô   i   (
   R   Rh  R=   R   R  R   R‰   t   to_frameRŠ   R   (   R)   RŽ   RÂ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_tz_framea  s
    -c         C   sÍ  t  t d d d d d d ƒƒ } t  t d d ƒ ƒ } t  | d	 | d
 | d	 | d
 g d d ƒ} t | | g d t ƒ} t j | | ƒ t  t d d d d d d ƒƒ } t  d d g ƒ } t  | d	 | d
 | d	 | d
 g d d ƒ} t | | g d t ƒ} t j | | ƒ t j t d d
 d
 ƒ g g ƒ } | d	 j	 j
 d ƒ | d	 <t j t d d
 d ƒ g g ƒ } | d	 j	 j
 d ƒ | d	 <t j | | g ƒ } | d	 j d k s¹t ‚ t j t d d
 d
 ƒ g g ƒ } | d	 j	 j
 d ƒ | d	 <t j t d d
 d ƒ g g ƒ } | d	 j	 j
 d ƒ | d	 <t j | | g ƒ } | d	 j d k s]t ‚ t j t d d
 d
 ƒ g t d d
 d ƒ g g ƒ } | d	 j	 j
 d ƒ | d	 <t j t d d
 d ƒ g g ƒ } | d	 j	 j
 d ƒ | d	 <t j | | g ƒ } | d	 j d k st ‚ t j t d d
 d
 ƒ g g ƒ } | d	 j	 j
 d ƒ | d	 <t j t d d
 d ƒ g t d d
 d ƒ g g ƒ } | d	 j	 j
 d ƒ | d	 <t j | | g ƒ } | d	 j d k sÉt ‚ d  S(   Ns   20151124 08:00s   20151124 09:00R0   RÇ  R/   Rƒ   s
   2012-01-01s
   2012-01-02i    i   RK   R<   RY   R9   R:   ià  i   s   datetime64[ns, UTC]s   Europe/Londons   datetime64[ns, Europe/London]i   (   R   R   R   R@   R$   Ra   R=   R   R   Rõ   Rx  RK   RL   (   R)   RV   RW   RŸ   Rž   RB  RC  (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_tz_seriesj  sP    	%		%	!!!!3!!3c         C   s  t  j d d d ƒt  j d d d ƒg } t  j d ƒ t  j d ƒ g } t t  j | ƒ t  j | ƒ g d t ƒ} t j | t  j | | d d	 ƒƒ t  j d
 d d ƒt  j d d d ƒg } t t  j | ƒ t  j | ƒ g d t ƒ} t j | t  j | | d d	 ƒƒ d  S(   Ns
   2011-01-01R/   s
   US/Easterns
   2011-02-01s   1 days   2 dayRY   RK   R<   s   2011-03R0   R1   s   2011-04(	   R=   R   R>   R   R   R@   R$   Ra   R?   (   R)   RV   RW   Rž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt'   test_concat_tz_series_with_datetimelike¨  s    *#**c         C   sØ   t  j d d t j j ƒ  ƒt  j d d t j j ƒ  ƒg } t  j d d t j j ƒ  ƒt  j d d t j j ƒ  ƒg } t t  j | ƒ t  j | ƒ g d t ƒ} t j	 | t  j | | ƒ ƒ | j
 d k sÔ t ‚ d  S(   Ns
   2011-01-01R/   s
   2011-02-01s
   2012-01-01s
   2012-02-01RY   s   datetime64[ns, tzlocal()](   R=   R   Rþ   R/   t   tzlocalR   R   R@   R$   Ra   RK   RL   (   R)   RV   RW   Rž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_tz_series_tzlocalµ  s    !!*t   tz1Rƒ   t   tz2R  t   20150101c            sï   t  j t  j g t  j g g ƒ j ‡  f d †  ƒ } t  j | g ƒ j ‡ f d †  ƒ } t  j | | g d d ƒ} t  j t  j t  j t  j | g d d d d g ƒƒ } | j ‡ f d †  ƒ } ˆ  ˆ k rÞ | j t ƒ } n  t | | ƒ d  S(   Nc            s   |  j  j ˆ  ƒ S(   N(   Rõ   Rx  (   RV   (   RÒ  (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyRâ   È  s    c            s   |  j  j ˆ  ƒ S(   N(   Rõ   Rx  (   RV   (   RÓ  (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyRâ   É  s    Rô   i    Ru   i   c            s   |  j  j ˆ  ƒ S(   N(   Rõ   Rx  (   RV   (   RÓ  (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyRâ   Î  s    (	   R=   R   Rö   RG  R   R   R   R<   R   (   R)   RÒ  RÓ  R  RB  RC  Rž   RŸ   (    (   RÒ  RÓ  s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt)   test_concat_NaT_dataframes_all_NaT_axis_0À  s    !$*c         C   sî   t  j t  j t  j t  j g ƒ j j | ƒ ƒ } t  j t  j t  j g ƒ j j | ƒ d d g ƒ} t  j i t  j t  j t  j g ƒ j j | ƒ d 6t  j t  j t  j g ƒ j j | ƒ d 6ƒ } t  j | | g d d ƒ} t | | ƒ d  S(   NRˆ   i   i    Rô   (   R=   R   R   Rö   Rõ   Rx  R   R   (   R)   RÒ  RÓ  RB  RC  RŸ   Rž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt)   test_concat_NaT_dataframes_all_NaT_axis_1Ô  s    0'+.c         C   sï   t  j t  j t  j g ƒ j j | ƒ } t  j t  j d d | ƒg t  j d d | ƒg g d d d g ƒ} t  j t  j t  j t  j d d | ƒt  j d d | ƒg ƒ } | | k rÉ | j t ƒ } n  t  j	 | | g ƒ } t
 | | ƒ d  S(   Ns
   2015/01/01R/   s
   2016/01/01Ru   i   i   (   R=   R   Rö   Rõ   Rx  R   R   R   R<   R   R   (   R)   RÒ  RÓ  RB  RC  RŸ   Rž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt(   test_concat_NaT_series_dataframe_all_NaTã  s    'R/   c            sé   t  j t  j g t  j g g ƒ } | j ‡  f d †  ƒ } t  j t  j d d ˆ  ƒg t  j d d ˆ  ƒg g d d d g ƒ} t  j t  j t  j t  j d d ˆ  ƒt  j d d ˆ  ƒg ƒ } t  j | | g d d	 ƒ} t | | ƒ d  S(
   Nc            s   |  j  j ˆ  ƒ S(   N(   Rõ   Rx  (   RV   (   R/   (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyRâ   ü  s    s
   2015/01/01R/   s
   2016/01/01Ru   i   i   Rô   i    (   R=   R   Rö   RG  R   R   R   (   R)   R/   RB  RC  RŸ   Rž   (    (   R/   s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_NaT_dataframes÷  s    !c         C   sœ   t  t j d d g d d ƒƒ } t  t j d d g d d ƒƒ } t  | d | d | d | d g d	 d
 ƒ} t | | g d t ƒ} t j | | ƒ d  S(   Ns
   2015-11-01s
   2015-12-01R0   R‡   s
   2015-10-01s
   2016-01-01i    i   RK   s	   Period[D]RY   (   R   R=   R”   R   R@   R$   Ra   (   R)   RV   RW   RŸ   Rž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_period_series  s
    !!.c         C   s±   t  t j d d g d d ƒƒ } t  t j d d g d d ƒƒ } t  | d | d	 | d | d	 g d
 d ƒ} t | | g d t ƒ} t j | | ƒ | j d k s­ t ‚ d  S(   Ns
   2015-11-01s
   2015-12-01R0   R‡   s
   2015-10-01s
   2016-01-01R1   i    i   RK   R<   RY   (	   R   R=   R”   R   R@   R$   Ra   RK   RL   (   R)   RV   RW   RŸ   Rž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt'   test_concat_period_multiple_freq_series  s    !!.c         C   sö  t  t j d d g d d ƒƒ } t  t j d d g d d ƒƒ } t  | d | d | d | d g d d	 ƒ} t | | g d
 t ƒ} t j | | ƒ | j d	 k s­ t ‚ t  t j d d g d d ƒƒ } t  t j	 d d g ƒ ƒ } t  | d | d | d | d g d d	 ƒ} t | | g d
 t ƒ} t j | | ƒ | j d	 k sTt ‚ t  t j d d g d d ƒƒ } t  d d g ƒ } t  | d | d | d | d g d d	 ƒ} t | | g d
 t ƒ} t j | | ƒ | j d	 k sòt ‚ d  S(   Ns
   2015-11-01s
   2015-12-01R0   R‡   R1   i    i   RK   R<   RY   R‰   RŠ   (
   R   R=   R”   R   R@   R$   Ra   RK   RL   R   (   R)   RV   RW   RŸ   Rž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_period_other_series  s$    !!.!.!.c         C   s©  t  j d d d g d d ƒ} t  j d d ƒ } t  j | | g d d ƒ} t  j i d d d g d 6t j t j t j g d 6ƒ } t j | | ƒ t  j d d d g d d ƒ} t  j d d ƒ } t  j | | g d d ƒ} t  j d d d g ƒ } t j | | ƒ t  j d d d g d d ƒ} t  j d d  ƒ } t  j | | g d d ƒ} t  j i d d d g d 6t j t j t j g d 6d	 d d g ƒ} t j | | ƒ d  S(
   Ni   i   i   RU   RV   RW   Rô   i    Rˆ   (
   R=   R   R   R   RB   RC   R$   R   Ra   Rp   (   R)   Rl   Rm   Rh   Ri   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_empty_series-  s     85R  i   i   i   c         C   s˜   t  g  d d ƒj j | ƒ } t  | ƒ } t i t j  t j g t | ƒ d d ƒj j | ƒ d 6| d 6ƒ } t | | g d d ƒ} t | | ƒ d  S(   NRK   s   M8[ns]i    i   Rô   (	   R   Rõ   Rx  R   R=   Rö   R‹  R   R   (   R)   R/   R  RB  RC  RŸ   Rž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt!   test_concat_empty_series_timelikeD  s    
c         C   s¾  t  j d d d g d d ƒ} t  j d d d g d d	 ƒ} t  j | | g d
 d d t ƒ} t | j t  j ƒ sx t ‚ t  j d d g d d g d d g g ƒ } t	 j
 | | d t d t ƒt  j d d d g ƒ } t  j d d d g ƒ } t  j | | g d
 d d t ƒ} t | j t  j ƒ s*t ‚ t  j d d g d d g d d g g ƒ } t  j d ƒ | _ t	 j
 | | d t d t ƒt  j i d d g d 6d d g d 6ƒ } t  j i d d g d 6d d g d 6ƒ } t  j | | g d
 d d t ƒ} t  j d d g d d g d d g d d g g d d d g ƒ} t	 j
 | | d t d t ƒt  j | | g d
 d d t ƒ} t  j d d d d g d d d d g g ƒ } t	 j
 | | d t d t ƒd  S(   Ni   i   i   RU   RV   i   i   i   RW   Rô   RY   RZ   t   check_column_typeR‰   RŠ   i   i   i    Rˆ   (   R=   R   R   R@   RJ   Rˆ   R  RL   R   R$   R   RA   (   R)   Rl   Rm   Rh   Ri   R   RŽ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_default_indexS  s4    !*!*))!0!-c         C   sø   t  t j j d d ƒ ƒ } t d t j d ƒ t j d ƒ g d t j t j d ƒ d ƒ t j	 t j d ƒ d ƒ g ƒ | _
 t | j d d d g d  d  … f | j d g d  d  … f g ƒ } | j d d d d g d  d  … f } t j | | ƒ d  S(   Ni	   i   R$  i   RA  i   i   (   R   RB   RÖ   R   R   R=   R  Ro  Rn  Rp  Ru   R   Rw   R$   R   (   R)   R¿   Rh   Ri   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt!   test_concat_multiindex_rangeindexx  s    $$D%c      	   C   se  d d l  m } t j j d g d g g ƒ } t j d g d | ƒ} t j j d g d g g ƒ } t j d g d | ƒ} i | d	 6| d
 6} t j d d	 d
 g d g d d g g d d d g d d g d d g g d d d  d  g ƒ } t j d g d g g d | ƒ} t j | | ƒ d d g ƒ}	 t j	 |	 | ƒ t j | d d g ƒ}
 t j	 |
 | ƒ d  S(   Niÿÿÿÿ(   t   deepcopyR9   R:   i    Ru   R;   i   Rl   Rm   R$  RA  R%  t   testname(
   R'   Rá  R=   R   RN  R   Rp   R   R$   R   (   R)   Rá  t   example_multiindex1t   example_dataframe1t   example_multiindex2t   example_dataframe2t   example_dictt   expected_indexRŸ   t   result_copyt   result_no_copy(    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt(   test_concat_multiindex_dfs_with_deepcopy†  s     !!c         C   s«  t  d d g d d d g ƒ} d d g } t i | d 6| d 6ƒ } t  d d d d g d d d g ƒ} d d d d g } t i | d 6| d 6d t d	 d d	 d g ƒ ƒ} t j t j | | g ƒ | ƒ t j | j | ƒ | ƒ t  d d g d d d d
 g ƒ} d d g } t i | d 6| d 6ƒ }	 t j | |	 g d t ƒ}
 t i t	 d ƒ d 6d d d d g d 6ƒ } t j |
 | ƒ | j |	 d t ƒ}
 t j |
 | ƒ d  S(   NR9   R:   R   i   i   t   catsRS   Ru   i    R;   RY   t   abab(
   R   R   R   R$   R   R=   R   R\   R@   R[   (   R)   t   catRS   R¿   t   cat2Rd   Ri   t   cat3Re   t   df_different_categoriesRh   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_categorical_concat_append›  s"    $!,c         C   s*  d d d g } t  d d d g ƒ } t d d d g ƒ } t d d d	 g ƒ } t j t | ƒ | | g d
 d d | ƒ} | j d k } t t t t g d | ƒ} t j | | ƒ | j d k } t t t t g d | ƒ} t j | | ƒ | j d k } t t t t g d | ƒ} t j | | ƒ d  S(   NRî  RO   t   numR9   R:   R;   i   i   i   Rô   R  R<   Ru   R3   R8   (	   R   R   R=   R   Ru  RA   R@   R$   Ra   (   R)   Ru   Rî  RO   Ró  R¿   Rž   RŸ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_categorical_concat_dtypes³  s    *c         C   s’  t  t j d d d ƒj d d ƒ d d d d	 g ƒ} t  t j d
 d d ƒj d d ƒ d d d	 g ƒ} d d d d d d d g } t t | ƒ ƒ | d <t j | | f d d d t d | ƒ} t  i d d d d d d d d d d d d d g d 6d d d d d d t j	 t j	 t j	 t j	 t j	 t j	 t j	 g d 6d d d d d
 d d d d d d d d g d	 6d  g d | d 6ƒ } t j | | ƒ d  S(    Ni   RK   R3   i   i   Rˆ   R9   R:   R;   i   i   i   R"  R!  t   hRô   i    RY   R   i	   i   i   i   i   i
   i   i   i   i   i   i   (   R   RB   Rn  R  R   R   R=   R   R@   RC   Rp   R$   R   (   R)   R   R   RŽ   t
   cat_valuesRh   Ri   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_categorical_concatÈ  s    $$'4$.c         C   s2  t  i d d d d d d g d 6t d ƒ d	 6ƒ } t | d	 ƒ | d
 <| d
 j j d d d g ƒ | d d !} | d } t j | d
 j j | d
 j j ƒ t j | d
 j j | d
 j j ƒ t j	 | | g ƒ } t j | d
 j j | d
 j j ƒ | j
 | ƒ } t j | d
 j j | d
 j j ƒ d  S(   Ni   i   i   i   i   i   R*  t   abbaaet	   raw_gradet   gradeRœ  R9   R:   i    (   R   R[   R   Rî  t   set_categoriesR$   R]   R   R=   R   R\   (   R)   R¿   R   RŽ   t   dfxt   dfa(    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_categorical_concat_gh7864Û  s    2
c      	   C   s×  t  t d ƒ d d ƒ} t  t d ƒ d d ƒ} t  t d ƒ ƒ } t j | | g d t ƒ} t j | | ƒ t  t d ƒ d d ƒ} t j | | g d t ƒ} t j | | ƒ t  t d ƒ d d	 d
 d d	 d
 d g d d ƒ} t j | | g ƒ } t j | | ƒ t  t j d d d ƒƒ } t  t d ƒ ƒ } t	 i | d 6| j
 t t d ƒ ƒ ƒ d 6ƒ } t j | | g ƒ } t	 i t j | | g ƒ d 6t j | | g ƒ j
 t t d ƒ ƒ ƒ d 6ƒ } t j | | ƒ d  S(   NRß   RK   R8   t   abdt   abcabdRY   t   abcabcRu   i    i   i   i   R3   t   aabbcaR‰   t   cabRŠ   (   R   R[   R=   R   R@   R$   Ra   RB   Rn  R   R   R   R   (   R)   R  Rm   Ri   Rh   R9   R:   RŽ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt    test_categorical_concat_preserveò  s*    '	"1c         C   sN  t  t j d d d ƒƒ } t  t d ƒ ƒ } t i | d 6| j t t d ƒ ƒ ƒ d 6ƒ j d ƒ } t j	 | | g ƒ } t i t j	 | | g ƒ d 6t j	 | | g ƒ j t t d ƒ ƒ ƒ d 6ƒ j d ƒ } t
 j | | ƒ t i | d 6t | d t d	 ƒ ƒd 6ƒ j d ƒ } d
 } t j t d | ƒ t j	 | | g ƒ Wd  QXd  S(   Ni   RK   R3   R  R‰   R  RŠ   R   t   abes8   categories must match existing categories when appendingRX   (   R   RB   Rn  R[   R   R   R   RÝ   R=   R   R$   R   R   R^   R_   R`   (   R)   R9   R:   RŽ   Rž   RŸ   RÂ   Rn   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt    test_categorical_index_preserver	  s     "	1	,	c         C   sU  d d d d d g } t  j d d t  j d d g d | ƒƒ} t  j d d t  j d d g d | ƒƒ} t  j d d t  j d d g d | ƒƒ} t  j | | | g d d ƒ} t  j d d d d g d | ƒ} t  j i d d t j t j g d 6t j d d t j g d 6t j t j d d g d 6d	 d d d g d | ƒ} t j | | ƒ d  S(
   Ni	   i    i   i   i   Ru   R   Rô   Rˆ   (	   R=   R   R  R   R   RB   RC   R$   R   (   R)   R   R9   R:   R;   Rž   R   Ri   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_categoricalindex'	  s    !"	c      
   C   s½   t  j d t d ƒ d d d d  g ƒ g } | g  t d ƒ D]- } t  j d t d ƒ d d  d d g ƒ ^ q: 7} t  j | d t ƒj } t rœ | d j } n | d j } t j	 | | ƒ d  S(	   NRu   i   Rˆ   R9   i   id   R   i    (
   R=   R   R  Rp   R   R@   Rˆ   R   R$   R]   (   R)   t   dfsR  Rž   RŸ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_order<	  s    *>c   
      C   sÄ  t  j d d d d d d d ƒ} t  j d | d	 d
 | d d d ƒ } t  j i d d d g d 6d | ƒ} t  j i d d d g d 6d | ƒ} t  j | | g d d ƒ} t d d d g d d ƒj d ƒ j d ƒ } t  j d d g d d g d d g g d | d d d g ƒ} t j | | ƒ t  j d d d d d d d ƒ} t  j i d d d g d 6d | ƒ}	 t  j | |	 g d d ƒ} t d d d d d d g ƒ } t  j t j	 d g t j	 d g t j	 d g d t j	 g d t j	 g d t j	 g g d | d d d g ƒ} t j | | ƒ t  j | j
 d ƒ j ƒ  | j
 d ƒ j ƒ  g d t ƒ} t  j i d d d g t j	 g d d 6t j	 g d d d d g d 6d | j | ƒ ƒ} t j | | ƒ d  S(   Ns
   2011-01-01Rg  i   R0   Rk  R/   s   Europe/ParisR…   i    R†   iÿÿÿÿi   i   R9   Ru   R:   Rô   s   2011-01-01 00:00:00+01:00s   2011-01-01 01:00:00+01:00s   2011-01-01 02:00:00+01:00Rƒ   Rˆ   s
   Asia/Tokyos   2010-12-31 15:00:00+00:00s   2010-12-31 16:00:00+00:00s   2010-12-31 17:00:00+00:00s   2010-12-31 23:00:00+00:00s   2011-01-01 00:00:00+00:00s   2011-01-01 01:00:00+00:00R   (   R=   R   R   R   R   t
   tz_convertR$   R   RB   RC   t   resamplet   meanR@   R\   (
   R)   t   idx1t   idx2R   RŽ   Rž   R   RŸ   t   idx3RÂ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_datetime_timezoneL	  sD    	&%%		'%**!'!t   reasons   Unhashable Decimal dtypec         C   s›   t  j t  j j j d d g ƒ ƒ } t  j t d d g ƒ ƒ } t  j | | g d t ƒ} t  j d d t d ƒ t d ƒ g d t	 ƒ} t
 j | | ƒ d  S(   Ni   i   RY   RK   (   R=   R   t   coret   arrayst   integer_arrayR   R   R@   R   R<   R$   Ra   (   R)   R9   R:   Rž   RŸ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt.   test_concat_different_extension_dtypes_upcasts{	  s    $	N(N   R,   R-   R  R  R)  R.  R2  R8  R@  RF  RJ  RT  RU  RV  Ra  Rb  Rc  Rd  Rj  Rt  Rv  Ry  R^   R®   t   filterwarningsR~  R‰  RŽ  R   R  R‘  R’  R“  R—  R›  Rž  R¥  R¨  R®  R´  R·  R¿  RÂ  RÆ  RÈ  RÍ  RÎ  RÏ  RÑ  R¯   Rp   R=   Rö   R   RÕ  RÖ  R×  RØ  RÙ  RÚ  RÛ  RÜ  RÝ  Rß  Rà  Rë  Rò  Rô  R÷  Rþ  R  R  R  R	  R  t   skipifR   R  (    (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyR    sŽ   	!	$									$				*				F			!									
		
	
	"			"			>		6''$				0	%											/t   pdtRõ   R  s   ignore:\nPanel:FutureWarningc      	   C   s£   | ƒ  j  } | t j d g d |  d | ƒƒ | t j t j g d |  d | ƒƒ | t j d g d |  d | ƒƒ g } t j | ƒ } | j j |  k sŸ t ‚ d  S(   Ni   RK   t   ndmini   (	   t   ndimRB   Rª   RC   R=   R   R  RK   RL   (   Rõ   R  t   dimsR  RV   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt!   test_concat_no_unnecessary_upcastˆ	  s    !$'t   intc         C   s³   t  d t ƒ ž | ƒ  j } | t j d g d |  d | ƒƒ | t j t j g d | ƒƒ | t j d g d |  d | ƒƒ g } t j | ƒ } | j j	 d k s© t
 ‚ Wd  QXd  S(   NRl  i   RK   R  i   R4   (   R   R@   R  RB   Rª   RC   R=   R   R  RK   RL   (   Rõ   R  R  R  RV   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_will_upcast•	  s    !'c          C   sn   t  j i d g d 6ƒ }  t  j i g  d 6ƒ } t  j i d g d 6ƒ } t  j |  | g ƒ } t | | ƒ d  S(   Ni   R#   g      ð?(   R=   R   R   R   (   R   RŽ   RŸ   Rž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt0   test_concat_empty_and_non_empty_frame_regression¢	  s
    c          C   sP   t  j d g ƒ }  t  j g  ƒ } |  } t  j |  | g ƒ } t j | | ƒ d  S(   Ni   (   R=   R   R   R$   Ra   (   Rl   Rm   RŸ   Rž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt1   test_concat_empty_and_non_empty_series_regression«	  s
    c      
   C   sF  t  j i d d g d 6d d g d 6d d d g ƒ} t  j i d d g d 6d d	 g d
 6ƒ } 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 ƒ} |  t k r× | d d d
 g } n  |  d  k rõ t j t ƒ } n t j d  ƒ } | & t  j | | g d t d |  ƒ} Wd  QXt j	 | | ƒ d  S(   Ni   i   R9   R:   Rˆ   i   i   i   i   R;   RY   R   (
   R=   R   Rp   RA   R$   RÎ   RÏ   R   R@   R   (   R    R   RŽ   RŸ   RÐ   Rž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_sorts_columns´	  s    5)'c      
   C   s4  t  j i d d d g d 6d d d d g ƒ} t  j i d d g d 6d d d g ƒ} t  j i d d d g d 6d d d  g d 6d d d d g d d d g ƒ} |  t k rÅ | j d d d g } n  |  d  k rã t j t ƒ } n t j d  ƒ } | & t  j | | g d	 d d
 |  ƒ} Wd  QXt j	 | | ƒ d  S(   Ni   i   i   R9   Ru   R;   R:   Rˆ   Rô   R   (
   R=   R   Rp   RA   RØ   R$   RÎ   RÏ   R   R   (   R    R   RŽ   RŸ   RÐ   Rž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_sorts_indexÎ	  s    .(,'c         C   s+  t  j i d d g d 6d d g d 6d d g d 6d d d d g ƒ} t  j i d d g d 6d d g d 6d	 d d g ƒ} t j d  ƒ , t  j | | g d
 |  d d d t ƒ} Wd  QXt  j i d d d d g d 6d d d d g d 6d d d g ƒ} |  t k r| d d g } n  t j | | ƒ d  S(   Ni   i   R9   R:   R;   Rˆ   i   i   Ru   R   RŸ  R¯  RY   (   R=   R   R$   RÎ   Rp   R   R@   R   (   R    R   RŽ   Rž   RŸ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_inner_sortå	  s    352c          C   s"  t  j i d d g d 6d d g d 6d d g d	 6d
 d d d	 g ƒ}  t  j |  |  g d t d t ƒ} 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 ƒ} t j | | ƒ t  j |  |  d d g g d d d t d t ƒ} | d d g } t j | | ƒ d  S(   Ni   i   R;   i   i   R:   i   i   R9   Rˆ   R   RY   RŸ  R¯  (   R=   R   R   R@   R$   R   (   R¿   Rž   RŸ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_aligned_sortù	  s    3!/(	c          C   s«   t  j i d d g d 6d d g d 6d d d g ƒ}  t  j i d d d d g d 6d d d d g d 6d d d g ƒ} t  j |  |  g d t d t ƒ} t j | | ƒ d  S(	   Ni   i   i   i   R9   Rˆ   RY   R   (   R=   R   R   R@   R$   R   (   R¿   RŸ   Rž   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt'   test_concat_aligned_sort_does_not_raise	
  s
    52!s   s1name,s2namei¾   i+   i    c         C   sš   t  j i d d 6d d 6d |  ƒ} t  j i d d 6d d	 6d | ƒ} t  j | | g ƒ } t  j i d d 6d d 6d d 6d d	 6ƒ } t j | | ƒ d  S(
   Ni   R9   i   R:   RU   i   R;   i   Rý   (   R=   R   R   R$   Ra   (   t   s1namet   s2nameRl   Rm   Rž   RŸ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt&   test_concat_series_name_npscalar_tuple
  s
    ##+c          C   s§   t  j t  j d d d d d ƒƒ }  t  j d d g d d	 ƒ} t  j |  | g d
 t ƒ} t  j t  j d d d ƒt  j d d d ƒd d g ƒ } t j | | ƒ d  S(   Ns
   2017-01-01Rg  i   R/   s
   US/PacificR9   R:   RK   R8   RY   s
   2017-01-02(   R=   R   R   R   R@   R   R$   Ra   (   R9   R:   Rž   RŸ   (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   test_concat_categorical_tz
  s    $(J   t   collectionsR    R   Rõ   t   decimalR   t	   itertoolsR   t   warningsR   R   Rþ   t   numpyRB   t   numpy.randomR   R^   t   pandas.compatR   R   R	   R
   t   pandas.core.dtypes.dtypesR   Rš  R=   R   R   R   R   R   R   R   R   R   R   R   R   t   pandas.tests.extension.decimalR   t   pandas.utilR   R$   t   pandas.util.testingR   R   RÀ  t   fixtureR@   RA   R   Rp   R    R<   R!   R.   R°   R  R®   R¯   t   sctypesR  R  R  R  R   R!  R"  R#  R$  R%  R3   R(  R)  (    (    (    s?   lib/python2.7/site-packages/pandas/tests/reshape/test_concat.pyt   <module>   s\   "R!$
ÿ ÿ ¯ÿ 7ÿ ÿ ÿ ÿ ÿ x$!$!									
9
