3
���h� � @ s� d dl Zd dlZd dlmZ d dljjZd dl m
Z
mZmZm
Z
mZmZ d dljZejjdddd g�dd� �Zdd � Zejjd
ddg�d
d� �Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zejd�dd� �Zejjdddd igd#dgg�d!d"� �Z dS )$� N)�NumbaUtilError)� DataFrame�Index�
MultiIndex�Series� Timestamp�
date_range�bad_raw� c C s: t jtdd��" ttd��jd�jt| d� W d Q R X d S )Nz'raw parameter must be `True` or `False`)�match� r
)�raw)�pytest�raises�
ValueErrorr �range�rolling�apply�len)r � r �@/tmp/pip-build-5_djhm0z/pandas/pandas/tests/window/test_apply.py�test_rolling_apply_invalid_raw s r c C s� | \}}t ddddg�}|jd�jtj||d�}|j� j� s@t�|jddd�jtj||d�}t ddddgtd �}t j
||� d S )
Nr
� r � �
)�enginer
)�min_periods� )�dtype)r r r �np�sumZisna�all�AssertionError�float�tmZassert_almost_equal)�engine_and_rawr r
�vals�result�expectedr r r � test_rolling_apply_out_of_bounds s r) �windowr �2sc s� t tjjd�tjjdddd�d�tdddd�d �� � fd
d�}� j| �j|dd
�}� jdd � j � �}t
j||� tj
t�� � j| �j|dd
� W d Q R X d S )N� r r )�size)�A�B�20130101�s)�periods�freq)�indexc s$ | j d � j d krtjS | jd S )Nr r
���)r4 r �nan�iloc)�x)�dfr r �f) s z1test_rolling_apply_with_pandas_objects.<locals>.fF)r
r T)r r �randomZrandn�randintr r r r7 Zreindex_liker$ �assert_frame_equalr r �AttributeError)r* r: r' |