ó
î&]\c           @` sŽ   d  d l  m Z m Z m Z d  d l Z d  d l m Z d  d l m	 Z	 m
 Z
 m Z d  d l m Z d d l m Z d e f d	 „  ƒ  YZ d S(
   i    (   t   divisiont   print_functiont   absolute_importN(   t   assert_allclose(   t   binned_statistict   binned_statistic_2dt   binned_statistic_dd(   t   ui   (   t   check_named_resultst   TestBinnedStatisticc           B` sR  e  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 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z  d „  Z! d „  Z" d  „  Z# d! „  Z$ d" „  Z% d# „  Z& RS($   c         C` s}   t  j j d ƒ t  j j d ƒ |  _ t  j j d ƒ |  _ t  j j d ƒ |  _ t  j j d ƒ |  _ t  j j d ƒ |  _ d  S(   Ni‰&  id   i   (   id   i   (   t   npt   randomt   seedt   xt   yt   vt   Xt   w(   t   cls(    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   setup_class   s    c         C` sl   |  j  } |  j } t | | d d d ƒ\ } } } t j | d d ƒ\ } } t | | ƒ t | | ƒ d  S(   Nt   countt   binsi
   (   R   R   R   R
   t	   histogramR   (   t   selfR   R   t   count1t   edges1t   bct   count2t   edges2(    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_1d_count   s    		!c         C` sQ   |  j  } |  j } d d d d g } x& | D] } t | | | d d ƒ} q+ Wd  S(   Nu   meanu   medianu   countu   sumR   i
   (   R   R   R   (   R   R   R   t
   statisticst	   statistict   res(    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_gh5927!   s
    		c         C` sA   |  j  } |  j } t | | d d d ƒ} d } t | | ƒ d  S(   NR   R   i
   R   t	   bin_edgest	   binnumber(   R   R"   R#   (   R   R   R   R   (   R   R   R   R    t
   attributes(    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_1d_result_attributes*   s
    		c         C` sr   |  j  } |  j } t | | d d d ƒ\ } } } t j | d d d | ƒ\ } } t | | ƒ t | | ƒ d  S(   Nt   sumR   i
   t   weights(   R   R   R   R
   R   R   (   R   R   R   t   sum1R   R   t   sum2R   (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_1d_sum2   s    		!!c         C` su   |  j  } |  j } t | | d d d ƒ\ } } } t | | t j d d ƒ\ } } } t | | ƒ t | | ƒ d  S(   Nt   meanR   i
   (   R   R   R   R
   R+   R   (   R   R   R   t   stat1R   R   t   stat2R   (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_1d_mean<   s    		!$c         C` su   |  j  } |  j } t | | d d d ƒ\ } } } t | | t j d d ƒ\ } } } t | | ƒ t | | ƒ d  S(   Nt   stdR   i
   (   R   R   R   R
   R/   R   (   R   R   R   R,   R   R   R-   R   (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_1d_stdF   s    		!$c         C` su   |  j  } |  j } t | | d d d ƒ\ } } } t | | t j d d ƒ\ } } } t | | ƒ t | | ƒ d  S(   Nt   minR   i
   (   R   R   R   R
   R1   R   (   R   R   R   R,   R   R   R-   R   (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_1d_minP   s    		!$c         C` su   |  j  } |  j } t | | d d d ƒ\ } } } t | | t j d d ƒ\ } } } t | | ƒ t | | ƒ d  S(   Nt   maxR   i
   (   R   R   R   R
   R3   R   (   R   R   R   R,   R   R   R-   R   (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_1d_maxZ   s    		!$c         C` su   |  j  } |  j } t | | d d d ƒ\ } } } t | | t j d d ƒ\ } } } t | | ƒ t | | ƒ d  S(   Nt   medianR   i
   (   R   R   R   R
   R5   R   (   R   R   R   R,   R   R   R-   R   (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_1d_mediand   s    		!$c   	      C` sÒ   |  j  d  } |  j d  } t | | d d d ƒ\ } } } t j d d d d d d d d d d d d d d d d d d d d g ƒ } g  t j | ƒ D] } | | k j ƒ  ^ q– } t | | ƒ t | | ƒ d  S(   Ni   R   R   i   i   i   (   R   R   R   R
   t   arrayt   uniqueR&   R   (	   R   R   R   R   R   R   t   bc2t   it   bcount(    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_1d_bincoden   s    !9.c   
      C` sÈ   t  j j d ƒ t  j d ƒ } t  j j d ƒ } t | d  | d  ƒ \ } } } t | | d d g ƒ\ } } } t | | d d ƒ\ } }	 } t | | ƒ t | | ƒ t | | ƒ t | |	 ƒ d  S(	   Ni‰&  i   i   t   rangei    i   (   i    i   (   i    i   (   R
   R   R   t   arangeR   R   (
   R   R   t   dataR+   R   t   _t
   mean_ranget
   bins_ranget   mean_range2t   bins_range2(    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_1d_range_keyword{   s     !c         C` sÄ   |  j  } |  j } |  j } t | | d d d ƒ\ } } } t | | d d d ƒ\ } } }	 t | | | g d d d ƒ\ }
 } } t |
 d | ƒ t |
 d | ƒ t | | ƒ t | | ƒ d  S(   NR+   R   i
   i    i   (   R   R   R   R   R   (   R   R   R   R   t   stat1vt   edges1vt   bc1vt   stat1wt   edges1wt   bc1wR-   R   R9   (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_1d_multi_valuesŠ   s    			!!'c         C` sŽ   |  j  } |  j } |  j } t | | | d d d ƒ\ } } } } t j | | d d ƒ\ } }	 }
 t | | ƒ t | |	 ƒ t | |
 ƒ d  S(   NR   R   i   (   R   R   R   R   R
   t   histogram2dR   (   R   R   R   R   R   t   binx1t   biny1R   R   t   binx2t   biny2(    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_2d_count˜   s    			$!c         C` sM   |  j  } |  j } |  j } t | | | d d d ƒ} d } t | | ƒ d  S(	   NR   R   i   R   t   x_edget   y_edgeR#   (   R   RS   RT   R#   (   R   R   R   R   R   (   R   R   R   R   R    R$   (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_2d_result_attributes¥   s    			c         C` s”   |  j  } |  j } |  j } t | | | d d d ƒ\ } } } } t j | | d d d | ƒ\ } }	 }
 t | | ƒ t | |	 ƒ t | |
 ƒ d  S(   NR&   R   i   R'   (   R   R   R   R   R
   RM   R   (   R   R   R   R   R(   RN   RO   R   R)   RP   RQ   (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_2d_sum®   s    			''c         C` s—   |  j  } |  j } |  j } t | | | d d d ƒ\ } } } } t | | | t j d d ƒ\ } }	 }
 } t | | ƒ t | |	 ƒ t | |
 ƒ d  S(   NR+   R   i   (   R   R   R   R   R
   R+   R   (   R   R   R   R   R,   RN   RO   R   R-   RP   RQ   (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_2d_meanº   s    			'*c         C` s   |  j  } |  j } |  j } t | | | t d ƒ d d ƒ\ } } } } t | | | t j d d ƒ\ } }	 }
 } t | | ƒ t | |	 ƒ t | |
 ƒ d  S(   NR+   R   i   (   R   R   R   R   R   R
   R+   R   (   R   R   R   R   R,   RN   RO   R   R-   RP   RQ   (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_2d_mean_unicodeÆ   s    			**c         C` s—   |  j  } |  j } |  j } t | | | d d d ƒ\ } } } } t | | | t j d d ƒ\ } }	 }
 } t | | ƒ t | |	 ƒ t | |
 ƒ d  S(   NR/   R   i   (   R   R   R   R   R
   R/   R   (   R   R   R   R   R,   RN   RO   R   R-   RP   RQ   (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_2d_stdÑ   s    			'*c         C` s—   |  j  } |  j } |  j } t | | | d d d ƒ\ } } } } t | | | t j d d ƒ\ } }	 }
 } t | | ƒ t | |	 ƒ t | |
 ƒ d  S(   NR1   R   i   (   R   R   R   R   R
   R1   R   (   R   R   R   R   R,   RN   RO   R   R-   RP   RQ   (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_2d_minÝ   s    			'*c         C` s—   |  j  } |  j } |  j } t | | | d d d ƒ\ } } } } t | | | t j d d ƒ\ } }	 }
 } t | | ƒ t | |	 ƒ t | |
 ƒ d  S(   NR3   R   i   (   R   R   R   R   R
   R3   R   (   R   R   R   R   R,   RN   RO   R   R-   RP   RQ   (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_2d_maxé   s    			'*c         C` s—   |  j  } |  j } |  j } t | | | d d d ƒ\ } } } } t | | | t j d d ƒ\ } }	 }
 } t | | ƒ t | |	 ƒ t | |
 ƒ d  S(   NR5   R   i   (   R   R   R   R   R
   R5   R   (   R   R   R   R   R,   RN   RO   R   R-   RP   RQ   (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_2d_medianõ   s    			$'c         C` sõ   |  j  d  } |  j d  } |  j d  } t | | | d d d ƒ\ } } } } t j d d d d d d d	 d d d
 d d	 d d d d d d d d g ƒ } g  t j | ƒ D] }	 | |	 k j ƒ  ^ q© }
 t | | ƒ | | j	 ƒ  } t |
 | ƒ d  S(   Ni   R   R   i   i   i   i   i   i   i   i   (
   R   R   R   R   R
   R7   R8   R&   R   t   nonzero(   R   R   R   R   R   RN   RO   R   R9   R:   R;   t	   count1adj(    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_2d_bincode  s    $-.c         C` sì   |  j  } |  j } |  j } |  j } t | | | d d d ƒ\ } } } } t | | | d d d ƒ\ }	 }
 } } t | | | | g d d d ƒ\ } } } } t | d | ƒ t | d |	 ƒ t | | ƒ t | | ƒ t | | ƒ d  S(   NR+   R   i   i    i   (   R   R   R   R   R   R   (   R   R   R   R   R   RF   t   binx1vt   biny1vRH   RI   t   binx1wt   biny1wRK   R-   RP   RQ   R9   (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_2d_multi_values  s    				$$*c      	   C` s:  |  j  } |  j } |  j } t | | d d d ƒ\ } } } t | | d d d ƒ\ } } } t | | | d d d
 d t ƒ\ }	 }
 } } t j | | d d ƒ} t j | | d d ƒ} | | | j ƒ  k c d 8<| | | j ƒ  k c d 8<t	 | | d	 ƒ t	 | | d ƒ t	 | | d	 ƒ t	 | | d ƒ d  S(   NR+   R   i   i
   t   expand_binnumberst   sidet   righti   i    (   i   i
   (
   R   R   R   R   R   t   TrueR
   t   searchsortedR3   R   (   R   R   R   R   t   statt   edgesxt   bcxt   edgesyt   bcyR-   t   edgesx2t   edgesy2R9   t   bcx3t   bcy3(    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_2d_binnumbers_unraveled&  s    			!!*c         C` sl   |  j  } |  j } t | | d d d ƒ\ } } } t j | d d ƒ\ } } t | | ƒ t | | ƒ d  S(   NR   R   i   (   R   R   R   R
   t   histogramddR   (   R   R   R   R   R   R   R   R   (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_dd_count=  s    		!c         C` sA   |  j  } |  j } t | | d d d ƒ} d } t | | ƒ d  S(   NR   R   i   R   R"   R#   (   R   R"   R#   (   R   R   R   R   (   R   R   R   R    R$   (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_dd_result_attributesG  s
    		c         C` sr   |  j  } |  j } t | | d d d ƒ\ } } } t j | d d d | ƒ\ } } t | | ƒ t | | ƒ d  S(   NR&   R   i   R'   (   R   R   R   R
   Rt   R   (   R   R   R   R(   R   R   R)   R   (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_dd_sumO  s    		!!c         C` su   |  j  } |  j } t | | d d d ƒ\ } } } t | | t j d d ƒ\ } } } t | | ƒ t | | ƒ d  S(   NR+   R   i   (   R   R   R   R
   R+   R   (   R   R   R   R,   R   R   R-   R   (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_dd_meanY  s    		!$c         C` su   |  j  } |  j } t | | d d d ƒ\ } } } t | | t j d d ƒ\ } } } t | | ƒ t | | ƒ d  S(   NR/   R   i   (   R   R   R   R
   R/   R   (   R   R   R   R,   R   R   R-   R   (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_dd_stdc  s    		!$c         C` su   |  j  } |  j } t | | d d d ƒ\ } } } t | | t j d d ƒ\ } } } t | | ƒ t | | ƒ d  S(   NR1   R   i   (   R   R   R   R
   R1   R   (   R   R   R   R,   R   R   R-   R   (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_dd_minm  s    		!$c         C` su   |  j  } |  j } t | | d d d ƒ\ } } } t | | t j d d ƒ\ } } } t | | ƒ t | | ƒ d  S(   NR3   R   i   (   R   R   R   R
   R3   R   (   R   R   R   R,   R   R   R-   R   (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_dd_maxw  s    		!$c         C` su   |  j  } |  j } t | | d d d ƒ\ } } } t | | t j d d ƒ\ } } } t | | ƒ t | | ƒ d  S(   NR5   R   i   (   R   R   R   R
   R5   R   (   R   R   R   R,   R   R   R-   R   (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_dd_median  s    		!$c   
      C` sâ   |  j  d  } |  j d  } t | | d d d ƒ\ } } } t j d d d d d	 d
 d d d d d d d d d d d d d d g ƒ } g  t j | ƒ D] } | | k j ƒ  ^ q– } t | | ƒ | | j ƒ  }	 t | |	 ƒ d  S(   Ni   R   R   i   i?   i!   iV   iS   iX   iC   i9   i*   i)   iR   i\   i    i$   i[   i+   iW   iQ   (	   R   R   R   R
   R7   R8   R&   R   R]   (
   R   R   R   R   R   R   R9   R:   R;   R^   (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_dd_bincode‹  s    !-.c         C` sÚ   |  j  } |  j } |  j } t | | t j d d ƒ\ } } } t | | t j d d ƒ\ } } }	 t | | | g t j d d ƒ\ }
 } } t |
 d | ƒ t |
 d | ƒ t | | ƒ t | | ƒ t | | ƒ d  S(   NR   i   i    i   (   R   R   R   R   R
   R/   R   (   R   R   R   R   RF   RG   RH   RI   RJ   RK   R-   R   R9   (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_dd_multi_values™  s    			$$*c         C` s  |  j  } |  j } t | d  d  … d f | d d d ƒ\ } } } t | d  d  … d f | d d d ƒ\ } } } t | d  d  … d f | d d d ƒ\ } } }	 t | | d d d
 d	 t ƒ\ }
 } } t | | d ƒ t | | d ƒ t |	 | d ƒ d  S(   Ni    R+   R   i   i   i   i   i
   Re   (   i   i   i
   (   R   R   R   R   Rh   R   (   R   R   R   Rj   Rk   Rl   Rm   Rn   t   edgeszt   bczR-   R   R9   (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   test_dd_binnumbers_unraveled¨  s    		111$('   t   __name__t
   __module__t   classmethodR   R   R!   R%   R*   R.   R0   R2   R4   R6   R<   RE   RL   RR   RU   RV   RW   RX   RY   RZ   R[   R\   R_   Rd   Rs   Ru   Rv   Rw   Rx   Ry   Rz   R{   R|   R}   R~   R   (    (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyR	      sH   		
				
	
	
	
	
	
																	
		
	
	
	
	
	
		(   t
   __future__R    R   R   t   numpyR
   t   numpy.testingR   t   scipy.statsR   R   R   t   scipy._lib.sixR   t   common_testsR   t   objectR	   (    (    (    sF   lib/python2.7/site-packages/scipy/stats/tests/test_binned_statistic.pyt   <module>   s   