ó
šxŠ\c           @  sú   d  d l  m Z d  d l m Z d  d l Z d  d l Z d  d l m Z d  d l Z	 d  d l m
 Z
 m Z m Z m Z m Z d  d l m Z d  d l j j Z d  d l m Z m Z d e f d	 „  ƒ  YZ d
 e f d „  ƒ  YZ d e f d „  ƒ  YZ d S(   iÿÿÿÿ(   t   print_function(   t   datetimeN(   t   lrange(   t	   DataFramet   Indext   Seriest	   Timestampt
   date_range(   t   TestData(   t   assert_frame_equalt   assert_series_equalt   TestDataFrameConcatCommonc        	   B  sÌ  e  Z d  „  Z e j j d e j d d d ƒe j d d d d d ƒe j d d d ƒe j	 d d d ƒg ƒ d „  ƒ Z
 d	 „  Z e j j d
 d e j e j d e j j 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 e j j d i d d 6e d f i d d 6e d  f g ƒ d! „  ƒ Z d" „  Z e j j d# e e g ƒ d$ „  ƒ Z  d% „  Z! d& „  Z" d' „  Z# d( „  Z$ d) „  Z% d* „  Z& RS(+   c         C  s›   t  d t j d ƒ d d d g d t j ƒ } t  d t j d ƒ d t j ƒ } t j | | f d d	 ƒj ƒ  } t t	 d
 d d d ƒ ƒ } t
 | | ƒ d  S(   Nt   datai
   i   t   columnst   foot   bart   dtypet   axisi   t   float64t   float32(   i
   i   (   i
   i   (   R   t   npt   onesR   R   t   pdt   concatt   get_dtype_countsR   t   dictR
   (   t   selft   At   Bt   resultst   expected(    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt"   test_concat_multiple_frames_dtypes   s    !!R   t   2000t   periodsi   t   tzs
   US/Centrali    c         C  s^   t  j i | d 6ƒ } | j ƒ  } d  | j d <d „  } | j | | ƒ } t j | | ƒ d  S(   NR   i   i    c         S  s   | S(   N(    (   t   at   b(    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   combiner+   s    (   i   i    (   R   R   t   copyt   Nonet   iloct   combinet   tmR	   (   R   R   t   dft   otherR%   t   result(    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_combine_datetlike_udf   s    	c   	      C  si  t  d d d  ƒ} t  d d d ƒ} t  d d d ƒ} t t d | g ƒ ƒ } t t d | g ƒ ƒ } t t d | g ƒ ƒ } t j | | g ƒ j d t ƒ } t t d | | g ƒ d t ƒ} t	 | | ƒ t j | | g ƒ j d t ƒ } t t d | | g ƒ d t ƒ} t	 | | ƒ t j | | g ƒ j d t ƒ } t t d | | g ƒ ƒ } t	 | | ƒ d  S(   Ns
   2015-01-01R"   t   UTCt   ESTt   timet   dropR   (
   R   R'   R   R   R   R   t   reset_indext   Truet   objectR	   (	   R   t   ts1t   ts2t   ts3t   df1t   df2t   df3R   R   (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_concat_multiple_tzs1   s    !!!!!t   t1s
   2015-01-01t   markst   reasons*   GH23037 incorrect dtype when concatenatingc   	      C  s°   t  | d d ƒ} t  d d d ƒ} t  d d d ƒ} t | | g g ƒ } t | g g ƒ } t j | | g ƒ } t | | g | t j g g d d d g ƒ} t | | ƒ d  S(   NR"   R/   s
   2015-01-01t   indexi    (   R   R   R   R   t   NaTR	   (	   R   R=   R6   R7   R8   R9   R:   R-   R   (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_concat_tz_NaTH   s    	-c         C  sÆ   t  j d d g ƒ j d ƒ } t  j i | d 6ƒ } t  j i | d 6| d 6ƒ } t  j | | g d t d t ƒ} t  j i t | ƒ t | ƒ d 6t  j t  j g t | ƒ d 6ƒ } t | | ƒ d  S(   Ni   i   R/   R   R   t   sortt   ignore_index(	   R   t   to_datetimet   tz_localizeR   R   R4   t   listRA   R	   (   R   t   tsR#   R$   R-   R   (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_concat_tz_not_aligned]   s    ! #c         C  sá   t  j t j d ƒ d t d ƒ ƒ} t  j t j d ƒ d d t d ƒ ƒ} t  j | | f d d d g ƒ} t  j i i d	 d 6d	 d 6d d 6d d 6d d 6d 6i d	 d 6d	 d 6d d 6d d 6d d 6d 6ƒ } t | | ƒ d  S(   Ni   R   t   ABi   t   keyst   beet   baht   boog      ð?i    i   g       @R   R   (   i   i   (   i   i   (   RL   RM   (   RL   RN   (   RL   RM   i    (   RL   RM   i   (   RL   RN   i    (   RL   RN   i   (   RL   RN   i   (   RL   RM   i    (   RL   RM   i   (   RL   RN   i    (   RL   RN   i   (   RL   RN   i   (   R   R   R   R   RG   R   R	   (   R   R9   R:   R   R   (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_concat_tuple_keysg   s    $(!
c      	   C  s  t  t j j d d ƒ d d d d d g ƒ} | j d } d } t j t d	 | ƒ | j | d
 t	 ƒWd  QXd  | _ d } t j t d	 | ƒ | j | d
 t	 ƒWd  QX| j | d  d  d … d t	 ƒ} | j t  i | d  d  d … d 6d | j ƒj d t	 ƒ} t | | ƒ | j | j ƒ  d t	 ƒ} t | | ƒ | j | d  d  d … d  d t	 ƒ} | j t  i | d  d  d … d  d 6ƒ j d t	 d t	 ƒ} t | | j d  d  … | j f ƒ | j d } d | _ | j | ƒ } | j | d d t	 ƒ} t | | ƒ d  S(   Ni   i   R   R   R   t   bazt   quxs   Indexes have overlapping valuest   matcht   verify_integritys-   Can only append a Series if ignore_index=TrueiÿÿÿÿRD   i    R@   i   RC   (   R   R   t   randomt   randnt   loct   pytestt   raisest
   ValueErrort   appendR4   R'   t   namet	   TypeErrorR   t   TR	   t   to_dict(   R   R+   t   seriest   msgR-   R   t   row(    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_append_series_dicty   s2    	"2	&-#	c         C  s   t  t j j d d ƒ d d d d d g ƒ} g  | j ƒ  D] \ } } | j ƒ  ^ q: } | j | d t ƒ} | j | d t ƒ} t | | ƒ i d	 d 6d
 d 6d d 6d d 6i d d 6d d 6d d 6d d 6g } | j | d t d t ƒ} | j t  | ƒ d t d t ƒ} t | | ƒ d  S(   Ni   i   R   R   R   RP   RQ   RD   i   i   i   t   peekabooi   i   i   RC   (	   R   R   RT   RU   t   iterrowsR^   RZ   R4   R	   (   R   R+   t   idxt   xt   dictsR-   R   (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt    test_append_list_of_series_dictsœ   s    +%!c         C  s.  t  g  ƒ } t  g  ƒ } | j | ƒ } | j ƒ  } t | | ƒ t  t j j d d ƒ ƒ } t  ƒ  } | j | ƒ } | j ƒ  } t | | ƒ t  d d d g ƒ } t  ƒ  } | j | ƒ } | j ƒ  } t | | ƒ t  t j j d d ƒ d d d g ƒ} t  ƒ  } | j | ƒ } | j ƒ  } t | | ƒ d  S(   Ni   i   R   R   R   (   R   RZ   R&   R	   R   RT   RU   (   R   R9   R:   R-   R   (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_append_empty_dataframe­   s(    		'	c         C  s,  t  i t d ƒ d 6d t d ƒ ƒ} t  ƒ  } | j | ƒ } | j ƒ  } t | | ƒ t  i t d ƒ d 6d t d ƒ ƒ} t  i d d 6d t d d ƒ ƒ} | j | ƒ } t  i t d ƒ d g d 6ƒ } t | | ƒ t  i t d ƒ d 6d t d ƒ ƒ} t  i t j d 6d t d d ƒ ƒ} | j | ƒ } t  i t t d ƒ t j g d d	 ƒd 6ƒ } t | | ƒ t  i t d ƒ d 6d t d ƒ ƒ} t  i t j d 6d t d d ƒ d t	 ƒ} | j | ƒ } t  i t t d ƒ t j g d d	 ƒd 6ƒ } t | | ƒ t  i t j d 6d t d ƒ ƒ} t  i t d ƒ d 6d t d d ƒ ƒ} | j | ƒ } t  i t t j t d ƒ g d d	 ƒd 6ƒ } t | | ƒ t  i t d ƒ d 6d t d ƒ ƒ} t  i d d 6d t d d ƒ d t	 ƒ} | j | ƒ } t  i t t d ƒ d g ƒ d 6ƒ } t | | ƒ d  S(
   Nt   20130101R   R@   i   i   R   i   R   s   M8[ns](
   R   R   R   RZ   R&   R	   R   t   nanR   R5   (   R   R9   R:   R-   R   (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_append_dtypesË   sB    %	%"%%+%++"(+%(%c         C  sä   t  d t j d g d t j d g d t j d g d t j d g g ƒ } t  d d t j g t j t j d g g d d d g ƒ} | j | ƒ t  d t j d g d d	 d g d t j d g d t j d
 g g ƒ } t | | ƒ d  S(   Ng      ø?g      @i   gÍÌÌÌÌÌ@g       @i   R@   i   i   g      @(   R   R   Rk   t   updateR	   (   R   R+   R,   R   (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_updateø   s    'c         C  sÀ   t  d d t t g d d t t g g d d d d d	 g ƒ} t  d
 d
 g g d d g d d d g ƒ} | j | ƒ t  d d t t g d d t t g g d d d d d	 g ƒ} t | | ƒ d  S(   Ng      ð?g       @g      @g      @R   R   R   t   bool1t   bool2i-   R@   i    g     €F@(   R   t   FalseR4   Rm   R	   (   R   R+   R,   R   (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_update_dtypes	  s    '*'c         C  sê   t  d t j d g d t j d g d t j d g d t j d g g ƒ } t  d d t j g t j t j d g g d d d g ƒ} | j | d	 t ƒt  d t j d g d d
 d g d t j d g d t j d g g ƒ } t | | ƒ d  S(   Ng      ø?g      @i   gÍÌÌÌÌÌ@g       @i   R@   i   t	   overwritei   (   R   R   Rk   Rm   Rq   R	   (   R   R+   R,   R   (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_update_nooverwrite  s    'c         C  sð   t  d t j d g d t j d g d t j d g d t j d g g ƒ } t  d d t j g t j t j d g g d d d g ƒ} | j | d	 d
 „  ƒt  d t j d g d t j d g d t j d g d t j d g g ƒ } t | | ƒ d  S(   Ng      ø?g      @i   gÍÌÌÌÌÌ@g       @i   R@   i   t   filter_funcc         S  s
   |  d k S(   Ni   (    (   Rf   (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   <lambda>0  s    g      @(   R   R   Rk   Rm   R	   (   R   R+   R,   R   (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_update_filtered'  s    's   bad_kwarg, exception, msgt	   somethingt   errorss   The parameter errors must.*t   innert   joins   Only left join is supportedc         C  sH   t  d d d g g ƒ } t j | d | ƒ | j | |  Wd  QXd  S(   Ng      ø?i   g      @RR   (   R   RW   RX   Rm   (   R   t	   bad_kwargt	   exceptionR`   R+   (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_update_raise_bad_parameter8  s    c         C  s´   t  d d d g d t j d g d t j d g d t j d g g ƒ } t  d t j g t j d g g d d d g d d d	 g ƒ} t j t d
 d ƒ | j | d d ƒWd  QXd  S(   Ng      ø?i   g      @i   g       @i   R@   R   i   RR   s   Data overlapsRy   t   raise(   R   R   Rk   RW   RX   RY   Rm   (   R   R+   R,   (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_update_raise_on_overlapB  s    -t   raise_conflictc         C  sN   t  d d d g g ƒ } t  ƒ  } t j t ƒ  | j | d | ƒWd  QXd  S(   Ng      ø?i   g      @R   (   R   R*   t   assert_produces_warningt   FutureWarningRm   (   R   R   R+   R,   (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_update_deprecationM  s    	c         C  sþ   i t  d d d d g ƒ d 6t  d d d d	 g ƒ d
 6} t | ƒ } t  d d d d	 g ƒ | d <| j | ƒ t | ƒ } t | | ƒ i d d d d g d 6d d d d	 g d
 6} t | ƒ } d d d d	 g | d <| j | ƒ t | ƒ } t | | ƒ d  S(   Ni   i   i   i   R#   i   i   i   i   R$   (   R   R   Rm   R	   (   R   t   dR+   R   (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_update_from_non_dfT  s    8,c         C  s¯   d d g } t  d d d ƒ t  d d d ƒ g } t | d t d ƒ d d	 g ƒ} t d
 d g d d g g d | d | ƒ} | j | d d	 ƒ} t | j ƒ d k s« t ‚ d  S(   Nt   20120209t   20120222iÜ  i   i	   i   R@   R   t   aai   i   i   t   on(   R   R   R   R{   t   lenR   t   AssertionError(   R   t	   str_datest   dt_datesR   t   Ct   tst(    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_join_str_datetimei  s    $!*c         C  sb  t  j d d d g d d d g d d d g d d d	 g d d d
 g d d d g d d d g d d d g d d d g g	 d d d d g ƒj d d g ƒ } t  j d d g d d g g d d d g ƒj d g ƒ } t  j d d g d d g d d g d	 d g d
 d g d d g d t j g d t j g d t j g g	 d | j d d d g ƒ} t | j | d d ƒ| ƒ t | j | d d ƒ| d d g ƒ t  j j	 d d g d d d g g d d d g ƒ} t  j d d g d d g d d g d	 d g d
 d g d d g g d | d d d g ƒ} t | j | d d ƒ| ƒ t | j | d d ƒ| d d g ƒ d  S(   NR#   Rf   gR
º½¤1Þ?t   yg¡­ÜÌè?t   zg¼<+J	â?R$   gµá°4ð£Ö¿g^Ÿ9ëSŽ×?g?¨Œû¿t   ci   i   i   R   t   firstt   secondt   value1i
   i   t   value2g      ð?g       @g      @R@   t   howt   leftt   rightt   names(
   R   R   t	   set_indexR   Rk   R@   R	   R{   t
   MultiIndext   from_product(   R   R9   R:   t   expt   exp_idx(    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_join_multiindex_leftrightt  s4    *!	$!!c   	      C  s¨  t  j i d d g d 6d d g d 6ƒ } t d d g d	 d
 ƒ} t  j | | g d | ƒ} t  j i d d d d g d 6d d d d g d 6d t  j j d d g d d g f d d
 d  g ƒƒ} t | | ƒ t d d g d	 d  ƒ} t  j | | g d | d d
 g ƒ} t | | ƒ t  j | | g d | ƒ} t  j i d d d d g d 6d d d d g d 6d t  j j d d g d d g f d d  d  g ƒƒ} t | | ƒ d  S(   Ni   i   R   gš™™™™™¹?gš™™™™™É?R   R#   R$   R[   RP   RK   R@   i    Rœ   (   R   R   R   R   Rž   RŸ   R'   R	   (	   R   R+   R@   t   concatted_named_from_keyst   expected_namedt   index_no_namet   concatted_named_from_namest   concatted_unnamedt   expected_unnamed(    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_concat_named_keys—  s$    ),!,!c         C  s  t  j i d d g d 6d t d ƒ ƒ} t  j i d d g d 6d t d ƒ ƒ} t  j i d d d d g d 6d d d	 d d	 g ƒ} t  j | | g d
 d ƒ} t | | ƒ t  j | | g d
 d ƒ} t | | ƒ t  j | | g d
 d ƒ} t | | ƒ t  j d d g d d g g d d d	 g d d d g ƒ} t  j | | g d
 d ƒ} t | | ƒ t  j | | g d
 d	 ƒ}	 t |	 | ƒ t  j d d g ƒ }
 t  j d d g ƒ } t  j d d d d g d d d	 d d	 g ƒ} t  j |
 | g d
 d ƒ} t | | ƒ t  j |
 | g d
 d ƒ} t | | ƒ t  j |
 | g d
 d ƒ} t | | ƒ t  j d d g d d g g d d d	 g d d d	 g ƒ} t  j |
 | g d
 d ƒ} t | | ƒ t  j |
 | g d
 d	 ƒ} t | | ƒ t j t	 d d ƒ t  j |
 | g d
 d ƒWd  QXd  S(   Ngš™™™™™¹?gš™™™™™É?R   R@   i   g333333Ó?gš™™™™™Ù?i    i   R   t   rowsR   RR   s   No axis namedRx   (
   R   R   t   rangeR   R	   R   R
   RW   RX   RY   (   R   R9   R:   t   expected_indext   concatted_indext   concatted_rowt   concatted_0t   expected_columnst   concatted_columnst   concatted_1t   series1t   series2t   expected_index_seriest   concatted_index_seriest   concatted_row_seriest   concatted_0_seriest   expected_columns_seriest   concatted_columns_seriest   concatted_1_series(    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_concat_axis_parameter®  sF    ((.3'3c         C  s  t  j i t d ƒ d 6d d d t  j j d d d g d	 d
 d g g d d d g ƒƒ} t  j | j d  d … d  d  … f | j d d  … d  d  … f f ƒ } t  j i d d d d g d 6d d d t  j j d d d d g d d d g ƒƒ} t j	 | | ƒ d  S(   Ni	   t   colR   t   int32R@   t   A0t   A1t   A2t   B0t   B1t   B2Rœ   i   i   iþÿÿÿi    i   i   (   R¿   RÂ   (   R¿   RÃ   (   RÁ   RÃ   (   RÁ   RÄ   (
   R   R   R«   Rž   RŸ   R   R(   t   from_tuplesR*   R	   (   R   R+   R-   R   (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_concat_numerical_namesé  s    	G	('   t   __name__t
   __module__R   RW   t   markt   parametrizeR   R   t   period_ranget   timedelta_rangeR.   R<   t   paramRA   t   xfailRB   RI   RO   Rb   Rh   Ri   Rl   Rn   Rr   Rt   Rw   RY   t   NotImplementedErrorR~   R€   R4   Rq   R„   R†   R‘   R¢   R©   R¼   RÆ   (    (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyR      sB   	
$			
		#			-				%	$			#		;t   TestDataFrameCombineFirstc           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
 g ƒ d „  ƒ Z d „  Z RS(   c         C  s  t  d d g d t d ƒ ƒ} t  t d ƒ d t d ƒ ƒ} t i | d 6| d 6ƒ } t  d d g d t d d ƒ ƒ} t  t d ƒ d t d d ƒ ƒ} t i | d 6| d 6ƒ } t j i t d	 ƒ d 6d
 d d
 d g d 6d d d d d g ƒ} | j | ƒ } t j | | ƒ d  S(   NR#   R$   R@   i   R   R   i   i   t   ababg        g      ð?i    i   i   (   R   R   R   R   RG   t   combine_firstR*   R	   (   R   R#   R$   t   ft   gR    t   combined(    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_combine_first_mixedþ  s    !!,c         C  s	  |  j  d  |  j  d } } | j | ƒ } |  j  j | j ƒ } t | | ƒ t j | j |  j  j ƒ sm t ‚ t	 | d | d ƒ |  j  j
 ƒ  } d | d <| d =|  j  j
 ƒ  } d | d <| d =| j | ƒ } | d d k j ƒ  sí t ‚ t	 | d | d ƒ t	 | d | d ƒ t	 | d | d ƒ | d  j
 ƒ  | } } d | d <| j | ƒ } | d d  d k j ƒ  s|t ‚ d | d d *| j | ƒ } | d d  d k j ƒ  s¹t ‚ |  j  d  } |  j  d } | j | ƒ } t	 | d j | j ƒ | d ƒ t	 | d j | j ƒ | d ƒ |  j  j |  j ƒ }	 t |	 |  j  ƒ |  j j |  j  ƒ }	 t |	 |  j  ƒ |  j  j t d	 d
 d g ƒ ƒ }	 d
 |	 j k s¤t ‚ t i d g d 6d	 t d d d ƒ g ƒ}
 t i  d d g ƒ} |
 j | ƒ } d | k st ‚ d  S(   Ni   R   i   R   i    R   t   Di
   R@   t   fazRN   R#   iÜ  R   R$   (   t   frameRÒ   t   reindexR@   R	   R*   t   equalContentsR   RŒ   R
   R&   t   allt   emptyR   R   (   R   t   headt   tailRÕ   t   reordered_framet   fcopyt   fcopy2RÓ   RÔ   t   combR+   R:   R-   (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_combine_first  sN    !


  !!!+c         C  s
  t  d d d d g ƒ } t d d d d g d	 | ƒ} t d d d d g d	 | ƒ} t d
 d d d g d	 | ƒ} t i | d 6| d 6| d 6ƒ } t  d d d d g ƒ } t d d d d g d	 | ƒ} t d d d d g d	 | ƒ} t d
 d d d g d	 | ƒ} t i | d 6| d 6| d 6ƒ } | j | ƒ } t | j ƒ d k sPt ‚ t d d t t g d d t t g g d d d d d g ƒ} t d d g g d	 d g d d d g ƒ}	 | j |	 ƒ }
 t	 |
 | ƒ t
 j | j d, <| j |	 ƒ }
 d | j d- <t	 |
 | ƒ t i d t
 j d d t
 j g d 6t
 j d d t
 j d g d 6ƒ } t i d d d t
 j d d g d 6t
 j t
 j d d d d  g d 6ƒ } | j | ƒ }
 t i d! d" d# d d# d g d 6t
 j d" d# d d$ d% g d 6ƒ } t	 |
 | ƒ t t
 j d t g d& t
 j t g t
 j d t g g ƒ } t d' t
 j t g d( d) t g g d	 d! d" g ƒ} | j | ƒ d" }
 t t t t g d* d" ƒ} t |
 | ƒ t i t d+ d! d! ƒ t d+ d! d" ƒ t d+ d! d# ƒ g d 6ƒ } t i d  d  d  g d 6ƒ } | j | ƒ } t	 | | ƒ | j | ƒ } t	 | | ƒ t i t d+ d! d! ƒ t d+ d! d" ƒ t d+ d! d# ƒ g d 6ƒ } t i t d+ d! d" ƒ d  d  g d 6ƒ } | j | ƒ } | j ƒ  }
 | j d d  d  … f |
 j d d  d  … f <t	 | |
 ƒ | j | ƒ } t	 | | ƒ d  S(.   NR#   R$   R”   t   eg      @g      "Àg      @g      Y@R@   i   i   i   ia   t   col0t   col2t   col3RÓ   t   col1t   col5g      ð?g       @R   R   R   Ro   Rp   i-   i    g      @g      @g      @g       @i   i   i   i   i   gffffffÀgÍÌÌÌÌLEÀg      Àgš™™™™™ù?R[   iÐ  (   i    R   (   i    R   (   R   R   R   RÒ   R‹   R   RŒ   Rq   R4   R	   R   Rk   RV   R
   R   R'   R&   R(   (   R   Re   t   ser1t   ser2t   ser3t   frame1t   frame2RÕ   R+   R,   R-   R9   R:   R   t   df0(    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_combine_first_mixed_bugI  st    '*"""%>60(,c         C  s¬  t  j t  j d ƒ d g g d d d g ƒ} t  j d g d g g d d g ƒ} | d j d k sj t ‚ | d j d	 k sƒ t ‚ | j | ƒ } t  j i t  j d ƒ t  j g d 6d
 d g d 6d d d g ƒ} t j | | ƒ | d j d k sü t ‚ | d j d k st ‚ | j	 d  j | ƒ } t  j i t
 j t
 j g d 6d d g d 6d d d g ƒ} t j | | ƒ | d j d k st ‚ | d j d	 k s¨t ‚ d  S(   Ns
   2011-01-01i   R   R#   R$   i   i   s   datetime64[ns]t   int64g       @g      @R   i    (   R   R   R   R   RŒ   RÒ   RA   R*   R	   R(   R   Rk   (   R   t   dfat   dfbt   resR    (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_combine_first_align_nan™  s"    $"c   
      C  sn  t  j d ƒ j d ƒ } t  j d d d g d | d t  j d d	 d
 ƒƒ } t  j d ƒ j d ƒ } t  j d d d g d | d t  j d d	 d
 ƒƒ } | d g j | ƒ } t  j i t  j d d d ƒt  j d d d ƒg d 6t  j d d d ƒt  j g d 6d d d g d t  j d d	 d d d ƒƒ} t j	 | | ƒ | d j
 d k sUt ‚ | d j
 d k snt ‚ t  j d d d d ƒ} t  j i | d 6ƒ } t  j d d d d ƒ} t  j i | d 6ƒ } | j | ƒ } t j	 | | ƒ | d j
 d k st ‚ t  j d d d d g d d ƒ} t  j i | d 6d d
 d d  d! g ƒ} t  j d" d# d$ g d d ƒ} t  j i | d 6d d d% d  g ƒ} | j | ƒ } t  j d d" d d# d d g d d ƒ}	 t  j i |	 d 6d d
 d d d% d  d! g ƒ} t j	 | | ƒ t  j d d d d ƒ} t  j i | d 6ƒ } t  j d d ƒ } t  j i | d 6ƒ } | j | ƒ } t j	 | | ƒ | d j
 d& k st ‚ t  j d d' d d ƒ} t  j i | d 6ƒ } t  j d d ƒ } t  j i | d 6ƒ } | j | ƒ } t  j d d d ƒt  j d' d d ƒt  j d ƒ g }	 t  j i |	 d 6ƒ } t j	 | | ƒ | d j
 d( k sjt ‚ d  S()   Ns   20100101 01:01R/   R   t   UTCdatetimet   abcR   R@   t   20140627R!   i   s   20121212 12:12t   xyzt   20140628s   2010-01-01 01:01R"   s   2012-12-12 12:12s   2010-01-01 01:01:00i   t   freqR×   s   datetime64[ns, UTC]s
   2015-01-01s
   2015-01-05t   DATEs
   2015-01-03s
   2011-01-01RA   s
   2011-01-03s
   2011-01-04s
   US/Easterni   i   i   s
   2012-01-01s
   2012-01-02s
   2012-01-03i   s   datetime64[ns, US/Eastern]s
   2015-01-02R5   (   R   RE   RF   R   R   RÒ   R   RA   R*   R	   R   RŒ   t   DatetimeIndex(
   R   t   data1R9   t   data2R:   Rõ   R    t   dts1t   dts2t   exp_dts(    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_combine_first_timezone²  st    (%	.c      	   C  s  t  j d d d d g ƒ } t  j i | d 6d d d d	 d
 g ƒ} t  j d d d g ƒ } t  j i | d 6d d d d	 g ƒ} | j | ƒ } t  j d d d d d d g ƒ } t  j i | d 6d d d d d d	 d
 g ƒ} t j | | ƒ | d j d k st ‚ d  S(   Ns   1 dayRA   s   3 dayt   4dayt   TDR@   i   i   i   i   s   10 days   11 days   12 dayi   i   s   4 days   timedelta64[ns](   R   t   TimedeltaIndexR   RÒ   R*   R	   R   RŒ   (   R   Rÿ   R9   R   R:   Rõ   R  R    (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_combine_first_timedeltaú  s    (%.c   	   	   C  s/  t  j d d d d g d d ƒ} t  j i | d 6d d	 d
 d d g ƒ} t  j d d d g d d ƒ} t  j i | d 6d d d d g ƒ} | j | ƒ } t  j d d d d d d g d d ƒ} t  j i | d 6d d	 d d
 d d d g ƒ} t j | | ƒ | d j | j k st ‚ t  j d d d g d d ƒ} t  j i | d 6d d d d g ƒ} | j | ƒ } t  j d d d ƒt  j d d d ƒt  j	 t  j d d d ƒt  j d d d ƒt  j d d d ƒg } t  j i | d 6d d	 d d
 d d d g ƒ} t j | | ƒ | d j d k s+t ‚ d  S(   Ns   2011-01RA   s   2011-03s   2011-04Rü   t   Mt   PR@   i   i   i   i   s
   2012-01-01s   2012-02s   2012-03i   i   s   2012-01s
   2012-01-02s
   2012-01-03R×   R5   (
   R   t   PeriodIndexR   RÒ   R*   R	   R   RŒ   t   PeriodRA   (	   R   Rÿ   R9   R   R:   Rõ   R  R    R  (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_combine_first_period  s4    (%	.%.c         C  s†   t  j i d d d d g d 6d d ƒ} t  j i d d g d 6d d ƒ} | j | ƒ } t j | | ƒ | d j d k s‚ t ‚ d  S(	   Ni    i   i   i   R#   R   Rò   i   (   R   R   RÒ   R*   R	   R   RŒ   (   R   R9   R:   Rõ   (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_combine_first_int'  s
    ("t   vali   g      ð?c         C  sx   t  j i | g d 6ƒ } t  j i t g d 6ƒ } | j | ƒ } t  j i t g d 6| g d 6ƒ } t j | | ƒ d  S(   Nt   isNumt   isBool(   R   R   R4   RÒ   R*   R	   (   R   R  R9   R:   Rõ   R    (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt(   test_combine_first_with_asymmetric_other1  s
    #c         C  s±   g  } | j  t d d d ƒ d g ƒ | j  t d d d ƒ d g ƒ t j | d d d g ƒ} t d d	 d
 d d d ƒ } t i | d 6t d ƒ d 6ƒ } t j | | g ƒ d  S(   NiÚ  i   i   t   hiR   t   datet   testt   starts   2000/1/1Rü   R×   R!   i
   (   RZ   R   R   t   from_recordsR   R   R   R   (   R   Rª   t   df2_objt   indR9   (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt%   test_concat_datetime_datetime64_frame<  s     (   RÇ   RÈ   RÖ   Rä   Rñ   Rö   R  R  R  R  RW   RÉ   RÊ   R  R  (    (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyRÐ   ü  s   		=	P		H		 	
$t   TestDataFrameUpdatec           B  s   e  Z d  „  Z RS(   c         C  s  t  i d d d g d 6t d d d ƒd 6ƒ } t  i d  d d g d 6ƒ } | j ƒ  } | j | d t ƒt j | | ƒ t  i d d  d g d 6t d d d ƒd 6ƒ } t  i d  d d g d 6ƒ } t  i d d d g d 6t d d d ƒd 6ƒ } | j | d t ƒt j | | ƒ d  S(	   Ng      ð?i   i   R   R    R!   R   Rs   (   R   R   R'   R&   Rm   Rq   R*   R	   (   R   R9   R:   R   (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   test_update_nanM  s    /(   RÇ   RÈ   R  (    (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyR  K  s   (   t
   __future__R    R   t   numpyR   RW   t   pandas.compatR   t   pandasR   R   R   R   R   R   t   pandas.tests.frame.commonR   t   pandas.util.testingt   utilt   testingR*   R	   R
   R   RÐ   R  (    (    (    sE   lib/python2.7/site-packages/pandas/tests/frame/test_combine_concat.pyt   <module>   s   (ÿ êÿ P