B @`G@s2dZddlmZddlmZmZmZmZddlm Z ddl Z ddl Z ddl m Z mZddlZddlmZddlZddlZddlmZmZddlmmZdd lmZmZddlZ dd lm!Z!m"Z"m#Z#m$Z$m%Z%m&Z&ddl'm(Z)dd l*m+Z+dd l,m-Z-m.Z.d dZ/ddZ0ddZ1ej2j3ddej4j5fdej26dxDd7D]8Z8e9e j:j;e8Zeeed?gd3d@dAZIejAdd?gd3dBdCZJejAddDdEdFdGgd3dHdIZKejAdDdEdFdGgd3dJdKZLejAd%d2gd3dLdMZMejAdNdOdedejTedugfd?edejTedugfd@e #d<e jUe #d=gfdAe "ddejTe "ddugfgZepe\ZZejAeed/dBdCZejAdDdEZejAdFdGdHdIdJdKdLgd3dMdNZejAdOde j;jDd3dPdQZejAddRd.gd3dSdTZeAdUdVZejAdWdXdYgd3dZd[ZdS(\a This file is very long and growing, but it was decided to not split it yet, as it's still manageable (2020-03-17, ~1.1k LoC). See gh-31989 Instead of splitting it was decided to define sections here: - Configuration / Settings - Autouse fixtures - Common arguments - Missing values & co. - Classes - Indices - Series' - DataFrames - Operators & Operations - Data sets/files - Time zones - Dtypes - Misc )abc)datetime timedeltatimezone)DecimalN)tzlocaltzutc) strategies) FixedOffsetutc)DatetimeTZDtype IntervalDtype) DataFrameIntervalPeriodSeries Timedelta Timestamp)ops)Index MultiIndexcCsX|dd|dd|dd|dd|dd|dd|dddS) Nmarkersz&single: mark a test as single cpu onlyzslow: mark a test as slowznetwork: mark a test as networkz2db: tests requiring a database (mysql or postgres)z.high_memory: mark a test as a high-memory onlyz(clipboard: mark a pd.read_clipboard testz4arm_slow: mark a test as slow for arm64 architecture)Zaddinivalue_line)configr3/tmp/pip-unpacked-wheel-q9tj5l6a/pandas/conftest.pypytest_configure1s     rcCsd|jdddd|jdddd|jdddd|jd dd d|jd dd d|jd ddddS)Nz --skip-slow store_truezskip slow tests)actionhelpz--skip-networkzskip network testsz --skip-dbz skip db testsz--run-high-memoryzrun high memory testsz --only-slowzrun only slow testsz--strict-data-filesz0Fail if a test is skipped for missing data file.)Z addoption)parserrrrpytest_addoptionAs r!cCsd|jkr |jdr tdd|jkr@|jdr@tdd|jkr`|jdr`tdd |jkr|jd rtd d |jkr|jd stddS)NZslowz --skip-slowzskipping due to --skip-slowz --only-slowzskipping due to --only-slownetworkz--skip-networkzskipping due to --skip-networkdbz --skip-dbzskipping due to --skip-dbZ high_memoryz--run-high-memoryz=skipping high memory test since --run-high-memory was not set)keywordsr getoptionpytestskip)itemrrrpytest_runtest_setupPs    r)cii)deadlineZsuppress_health_checkz)MonthBegin MonthEnd BMonthBegin BMonthEndic)n normalizez%YearBegin YearEnd BYearBegin BYearEnd )Z min_valueZ max_value)r-r.monthz1QuarterBegin QuarterEnd BQuarterBegin BQuarterEndi)r-r.Z startingMonthT)ZautousecCstdddS)z< Configure settings for all tests and test modules. Zchained_assignmentraiseN)pdZ set_optionrrrrconfigure_testssr7cCst|d<t|d<dS)z: Make `np` and `pd` names available for doctests. npr6N)r8r6)Zdoctest_namespacerrr add_importssr9indexcolumnscCsdt|S)Nzaxis )repr)xrrrr>)paramsidscCs|jS)z@ Fixture for returning the axis numbers of a DataFrame. )param)requestrrraxissrDF)r@cCs|jS)a Pass in the observed keyword to groupby for [True, False] This indicates whether categoricals should return values for values which are not in the grouper [False / None], or only values which appear in the grouper [True]. [None] is supported for future compatibility if we decide to change the default (and would need to warn if this parameter is not passed). )rB)rCrrrobserveds rEcCs|jS)z6 Boolean 'ordered' parameter for Categorical. )rB)rCrrrorderedsrFfirstlastcCs|jS)z[ Valid values for the 'keep' parameter used in .duplicated or .drop_duplicates )rB)rCrrrkeepsrIleftrightZbothZneithercCs|jS)z< Fixture for trying all interval closed parameters. )rB)rCrrrclosedsrLcCs|jS)zS Secondary closed fixture to allow parametrizing over all pairs of closed. )rB)rCrrr other_closedsrMgzipbz2zipxzcCs|jS)zK Fixture for trying common compression types in compression tests. )rB)rCrrr compressionsrRcCs|jS)zk Fixture for trying common compression types in compression tests excluding uncompressed case. )rB)rCrrrcompression_onlysrScCs|jS)z, Fixture that an array is writable. )rB)rCrrrwritablesrTinneroutercCs|jS)z: Fixture for trying all types of join operations. )rB)rCrrr join_typesrWnlargest nsmallestcCs|jS)z1 Fixture for trying all nselect methods. )rB)rCrrrnselect_methodsrZcCs|jS)z/ Fixture for each null type in pandas. )rB)rCrrr nulls_fixture sr[cCs|jS)zL Fixture for each null type in pandas, each null type exactly once. )rB)rCrrrunique_nulls_fixturesr\cCs|jS)z; Fixture to parametrize over DataFrame and Series. )rB)rCrrrframe_or_series(sr]seriescCs|jS)z Fixture to parametrize over Index and Series, made necessary by a mypy bug, giving an error: List item 0 has incompatible type "Type[Series]"; expected "Type[PandasObject]" See GH#29725 )rB)rCrrrindex_or_series0s r_arraycCs|jS)zG Fixture to parametrize over Index, Series, and ExtensionArray )rB)rCrrrindex_or_series_or_arrayCsracCsGdddt}|S)z, Fixture for a dictionary subclass. c@seZdZddZdS)z"dict_subclass..TestSubDictc_stj|f||dS)N)dict__init__)selfargskwargsrrrrcTsz+dict_subclass..TestSubDict.__init__N)__name__ __module__ __qualname__rcrrrr TestSubDictSsrj)rb)rjrrr dict_subclassMsrkcCsGdddtj}|S)z8 Fixture for a non-mapping dictionary subclass. c@s,eZdZddZddZddZddZd S) z5non_dict_mapping_subclass..TestNonDictMappingcSs ||_dS)N)_data)rdZunderlying_dictrrrrcasz>non_dict_mapping_subclass..TestNonDictMapping.__init__cSs |j|S)N)rl __getitem__)rdkeyrrrrmdszAnon_dict_mapping_subclass..TestNonDictMapping.__getitem__cSs |jS)N)rl__iter__)rdrrrrogsz>non_dict_mapping_subclass..TestNonDictMapping.__iter__cSs |jS)N)rl__len__)rdrrrrpjsz=non_dict_mapping_subclass..TestNonDictMapping.__len__N)rgrhrircrmrorprrrrTestNonDictMapping`srq)rMapping)rqrrrnon_dict_mapping_subclassZs rscCs`td}|ddddddg}|jdd|jjD|_|jjdd d gd d |S) z DataFrame with 3 level MultiIndex (year, month, day) covering first 100 business days from 2000-01-01 with random data dcSs|jS)N)year)r=rrrr>zr?zAmultiindex_year_month_day_dataframe_random_data..cSs|jS)N)r3)r=rrrr>zr?cSs|jS)N)day)r=rrrr>zr?cSsg|]}|dqS)i8)astype).0Zlevrrr |szCmultiindex_year_month_day_dataframe_random_data..rur3rvT)Zinplace)tmZmakeTimeDataFramegroupbysumr:Z set_levelslevelsZ set_names)ZtdfZymdrrr/multiindex_year_month_day_dataframe_random_datass   rc Csvtddddgdddggdddd d d d d d d g dd d dd d d dd d g gd d gd}ttjdd |tdddgdddS)z2DataFrame with 2 level MultiIndex with random datafoobarbazquxonetwothreerr1rGsecond)r~codesnames ABCexp)name)r:r;)rrr8randomrandnr)r:rrr multiindex_dataframe_random_datas . rcCshtddddg}tddg}tdddd d d g}tddddddg}d d g}t||g||g|d dS)zJ MultiIndex used to test the general functionality of this object rrrrrrrr1rrrGrF)r~rrZverify_integrity)rr8r`r)Z major_axisZ minor_axisZ major_codesZ minor_codesZ index_namesrrr_create_multiindexs rcCs.tjddgddgtjddddgd d d gd S) zB MultiIndex with a level that is a tzaware DatetimeIndex. r1rab20130101rz US/Eastern)Zperiodstzrrr)r)rZ from_productr6Z date_rangerrrr_create_mi_with_dt64tz_levelsrrtz US/Pacific)rrrrrrr)unicodestringdatetimez datetime-tzperiodrintuintrangefloatboolZ categoricalintervalemptytupleszmi-with-dt64tz-levelmultirepeatscCst|jS)z Fixture for many "simple" kinds of indices. These indices are unlikely to cover corner cases, e.g. - no names - no NaTs/NaNs - no values near implementation bounds - ... ) indices_dictrBcopy)rCrrrr:s cCs|jdkrtdt|jjdd}|j}|jdkrx|}d|ddd |d<d|d dd |d <t|Sd |d<d |d <t ||Sd S) z1 Fixture for indices with missing values )rrrrrzmissing values not supportedT)deep)rzmi-with-dt64tz-levelr)Nrr1N) rBr&Zxfailrrvaluestolistr from_tuplestype)rCindvalsrrrindex_with_missings    rcCstjggtjdS)N)r:dtype)r6rr8float64rrrr empty_seriessrcCst}d|_|S)zC Fixture for Series of floats with Index of unique strings r^)r{ZmakeStringSeriesr)srrr string_seriessrcCst}d|_|S)zI Fixture for Series of dtype object with Index of unique strings Zobjects)r{ZmakeObjectSeriesr)rrrr object_seriessrcCst}d|_|S)z9 Fixture for Series of floats with DatetimeIndex ts)r{ZmakeTimeSeriesr)rrrrdatetime_series srcCs$t|}tj|}tj||ddS)z Helper for the _series dict r)r:r)lenr8rrr6r)r:sizedatarrr_create_seriess rcCs"i|]\}}t|d|dqS)z series-with-z-index)r)ryZindex_idr:rrr srcCst|S)zE Fixture for tests on series with changing types of indices. )r)r:rrrseries_with_simple_index src Cs`ddddddddgddddddddgg}t|}t|}tjd}t||d}tj|d <|S) z: Fixture with a Series with a 2-level MultiIndex. rrrrrr)r:r)rPrrr8rrrNaN)Zarraysrr:rZserrrrseries_with_multilevel_index(s    rcCs(i|] }tjdd||jdqS)r)rz-series)r{ZmakeFloatSeriesrxrg)ryrrrrrCscCst|jS)z: Fixture for Series with low precision data types )_narrow_seriesrBr)rCrrr narrow_seriesIsrcCst|jjddS)z| Fixture for tests on indexes, series and series with a narrow dtype copy to avoid mutation, e.g. setting .name T)r)_index_or_series_objsrBr)rCrrrindex_or_series_objUsrcCstS)N)rrrrr empty_frameasrcCsttdS)a6 Fixture for DataFrame of ints with index of unique strings Columns are ['A', 'B', 'C', 'D'] A B C D vpBeWjM651 1 0 1 0 5JyxmrP1En -1 0 0 0 qEDaoD49U2 -1 1 0 0 m66TkTfsFe 0 0 0 0 EHPaNzEUFm -1 0 -1 0 fpRJCevQhi 2 0 0 0 OlQvnmfi3Q 0 0 -2 0 ... .. .. .. .. uB1FPlz4uP 0 0 0 1 EcSe6yNzCU 0 0 -1 0 L50VudaiI8 -1 1 -2 0 y3bpw4nwIp 0 -1 0 0 H0RdLLwrCT 1 1 0 0 rY82K0vMwm 0 0 0 0 1OPIUjnkjk 2 0 0 0 [30 rows x 4 columns] int64)rr{ getSeriesDatarxrrrr int_framefsrcCs ttS)a Fixture for DataFrame of floats with DatetimeIndex Columns are ['A', 'B', 'C', 'D'] A B C D 2000-01-03 -1.122153 0.468535 0.122226 1.693711 2000-01-04 0.189378 0.486100 0.007864 -1.216052 2000-01-05 0.041401 -0.835752 -0.035279 -0.414357 2000-01-06 0.430050 0.894352 0.090719 0.036939 2000-01-07 -0.620982 -0.668211 -0.706153 1.466335 2000-01-10 -0.752633 0.328434 -0.815325 0.699674 2000-01-11 -2.236969 0.615737 -0.829076 -1.196106 ... ... ... ... ... 2000-02-03 1.642618 -0.579288 0.046005 1.385249 2000-02-04 -0.544873 -1.160962 -0.284071 -1.418351 2000-02-07 -2.656149 -0.601387 1.410148 0.444150 2000-02-08 -1.201881 -1.289040 0.772992 -1.445300 2000-02-09 1.377373 0.398619 1.008453 -0.928207 2000-02-10 0.473194 -0.636677 0.984058 0.511519 2000-02-11 -0.965556 0.408313 -1.312844 -0.381948 [30 rows x 4 columns] )rr{ZgetTimeSeriesDatarrrrdatetime_framesrcCs ttS)a Fixture for DataFrame of floats with index of unique strings Columns are ['A', 'B', 'C', 'D']. A B C D P7GACiRnxd -0.465578 -0.361863 0.886172 -0.053465 qZKh6afn8n -0.466693 -0.373773 0.266873 1.673901 tkp0r6Qble 0.148691 -0.059051 0.174817 1.598433 wP70WOCtv8 0.133045 -0.581994 -0.992240 0.261651 M2AeYQMnCz -1.207959 -0.185775 0.588206 0.563938 QEPzyGDYDo -0.381843 -0.758281 0.502575 -0.565053 r78Jwns6dn -0.653707 0.883127 0.682199 0.206159 ... ... ... ... ... IHEGx9NO0T -0.277360 0.113021 -1.018314 0.196316 lPMj8K27FA -1.313667 -0.604776 -1.305618 -0.863999 qa66YMWQa5 1.110525 0.475310 -0.747865 0.032121 yOa0ATsmcE -0.431457 0.067094 0.096567 -0.264962 65znX3uRNG 1.528446 0.160416 -0.109635 -0.032987 eCOBvKqf3e 0.235281 1.622222 0.781255 0.392871 xSucinXxuV -1.263557 0.252799 -0.552247 0.400426 [30 rows x 4 columns] )rr{rrrrr float_framesr)rJrKrg?g?rz2012-01M)freqz period[M]z 2012-02-01Dz period[D]z 2011-01-01z US/Eastern)secondsztimedelta64[ns]cCs|jS)N)rB)rCrrrea_scalar_and_dtypesr__add____radd____sub____rsub____mul____rmul__ __floordiv__ __rfloordiv__ __truediv__ __rtruediv____pow____rpow____mod____rmod__cCs|jS)zD Fixture for dunder names for common arithmetic operations. )rB)rCrrrall_arithmetic_operatorssrcCs|jS)zU Fixture for operator and roperator arithmetic, comparison, and logical ops. )rB)rCrrrall_binary_operatorss"rcCs|jS)z Fixture for operator and roperator arithmetic functions. Notes ----- This includes divmod and rdivmod, whereas all_arithmetic_operators does not. )rB)rCrrrall_arithmetic_functionssrr}maxminZmeanprodZstdvarZmedianZkurtZskewcCs|jS)z. Fixture for numeric reduction names. )rB)rCrrrall_numeric_reductions?srallanycCs|jS)z. Fixture for boolean reduction names. )rB)rCrrrall_boolean_reductionsJsrcCs|jS)z> Fixture for all (boolean + numeric) reduction names. )rB)rCrrrall_reductionsUsr__eq____ne____le____lt____ge____gt__cCs|jS)zu Fixture for dunder names for common compare operations * >= * > * == * != * < * <= )rB)rCrrrall_compare_operators]s rcCs|jS)zm Fixture for dunder names for compare operations except == and != * >= * > * < * <= )rB)rCrrrcompare_operators_no_eq_nels r__and____rand____or____ror____xor____rxor__cCs|jS)zY Fixture for dunder names for common logical operations * | * & * ^ )rB)rCrrrall_logical_operatorsys rcCs |dS)zO Returns the configuration for the test setting `--strict-data-files`. z--strict-data-files)r%)Z pytestconfigrrrstrict_data_filessrcs(tjtjtdfdd}|S)a= Get the path to a data file. Parameters ---------- path : str Path to the file, relative to ``pandas/tests/`` Returns ------- path including ``pandas/tests``. Raises ------ ValueError If the path doesn't exist and the --strict-data-files option is set. testscsJtjjf|}tj|sFr4td|dntd|d|S)NzCould not find file z and --strict-data-files is set.zCould not find .)ospathjoinexists ValueErrorr&r')rer) BASE_PATHrrrdecos zdatapath..deco)rrrdirname__file__)rrr)rrrdatapaths r cCst|ddddS)z* The iris dataset as a DataFrame. iorcsvziris.csv)r6Zread_csv)r rrririssr UTCz Asia/Tokyozdateutil/US/Pacificzdateutil/Asia/Singaporez+01:15z-02:15z UTC+01:15z UTC-02:15i,i)hoursr)rcCsg|] }t|qSr)r<)ryirrrrzsrzcCs|jS)zD Fixture for trying timezones including default (None): {0} )rB)rCrrrtz_naive_fixturesrcCs|jS)z4 Fixture for trying explicit timezones: {0} )rB)rCrrrtz_aware_fixturesrmodule)ZscopecCstjS)zB Yields the UTC timezone object from the datetime module. )rr rrrrdatetime_tz_utcsrr z dateutil/UTCcCs|jS)zQ Fixture to provide variants of UTC timezone strings and tzinfo objects. )rB)rCrrr utc_fixturesrcCs|jS)zR Parametrized fixture for string dtypes. * str * 'str' * 'U' )rB)rCrrr string_dtypes rcCs|jS)zK Parametrized fixture for bytes dtypes. * bytes * 'bytes' )rB)rCrrr bytes_dtype srcCs|jS)zN Parametrized fixture for object dtypes. * object * 'object' )rB)rCrrr object_dtypesrcCs|jS)z\ Parametrized fixture for datetime64 dtypes. * 'datetime64[ns]' * 'M8[ns]' )rB)rCrrrdatetime64_dtype"srcCs|jS)z^ Parametrized fixture for timedelta64 dtypes. * 'timedelta64[ns]' * 'm8[ns]' )rB)rCrrrtimedelta64_dtype-srcCs|jS)z^ Parameterized fixture for float dtypes. * float * 'float32' * 'float64' )rB)rCrrr float_dtype8s rcCs|jS)zR Parameterized fixture for float dtypes. * 'Float32' * 'Float64' )rB)rCrrrfloat_ea_dtypeDsrcCs|jS)z~ Parameterized fixture for float dtypes. * float * 'float32' * 'float64' * 'Float32' * 'Float64' )rB)rCrrr any_float_allowed_nullable_dtypeOs rcCs|jS)zg Parameterized fixture for complex dtypes. * complex * 'complex64' * 'complex128' )rB)rCrrr complex_dtype]s rcCs|jS)z| Parameterized fixture for signed integer dtypes. * int * 'int8' * 'int16' * 'int32' * 'int64' )rB)rCrrr sint_dtypeis rcCs|jS)zx Parameterized fixture for unsigned integer dtypes. * 'uint8' * 'uint16' * 'uint32' * 'uint64' )rB)rCrrr uint_dtypews rcCs|jS)z Parameterized fixture for any integer dtype. * int * 'int8' * 'uint8' * 'int16' * 'uint16' * 'int32' * 'uint32' * 'int64' * 'uint64' )rB)rCrrr any_int_dtypesr cCs|jS)z Parameterized fixture for any nullable integer dtype. * 'UInt8' * 'Int8' * 'UInt16' * 'Int16' * 'UInt32' * 'Int32' * 'UInt64' * 'Int64' )rB)rCrrrany_nullable_int_dtypesr!cCs|jS)z Parameterized fixture for any nullable integer dtype and any float ea dtypes. * 'UInt8' * 'Int8' * 'UInt16' * 'Int16' * 'UInt32' * 'Int32' * 'UInt64' * 'Int64' * 'Float32' * 'Float64' )rB)rCrrrany_numeric_dtypesr"cCs|jS)z~ Parameterized fixture for any signed nullable integer dtype. * 'Int8' * 'Int16' * 'Int32' * 'Int64' )rB)rCrrrany_signed_nullable_int_dtypes r#cCs|jS)z Parameterized fixture for any (purely) real numeric dtype. * int * 'int8' * 'uint8' * 'int16' * 'uint16' * 'int32' * 'uint32' * 'int64' * 'uint64' * float * 'float32' * 'float64' )rB)rCrrrany_real_dtypesr$cCs|jS)a Parameterized fixture for all numpy dtypes. * bool * 'bool' * int * 'int8' * 'uint8' * 'int16' * 'uint16' * 'int32' * 'uint32' * 'int64' * 'uint64' * float * 'float32' * 'float64' * complex * 'complex64' * 'complex128' * str * 'str' * 'U' * bytes * 'bytes' * 'datetime64[ns]' * 'M8[ns]' * 'timedelta64[ns]' * 'm8[ns]' * object * 'object' )rB)rCrrrany_numpy_dtypes"r%rrcbytesacrz mixed-integermixedg@Zfloatingg?integerzmixed-integer-floatdecimalboolean datetime64z 2013-01-01z 2018-01-01rrZ20180101riirrrrcCs |j\}}tj|td}||fS)a Fixture for all inferred dtypes from _libs.lib.infer_dtype The covered (inferred) types are: * 'string' * 'empty' * 'bytes' * 'mixed' * 'mixed-integer' * 'mixed-integer-float' * 'floating' * 'integer' * 'decimal' * 'boolean' * 'datetime64' * 'datetime' * 'date' * 'timedelta' * 'time' * 'period' * 'interval' Returns ------- inferred_dtype : str The string for the inferred dtype from _libs.lib.infer_dtype values : np.ndarray An array of object dtype that will be inferred to have `inferred_dtype` Examples -------- >>> import pandas._libs.lib as lib >>> >>> def test_something(any_skipna_inferred_dtype): ... inferred_dtype, values = any_skipna_inferred_dtype ... # will pass ... assert lib.infer_dtype(values, skipna=True) == inferred_dtype )r)rBr8r`object)rCZinferred_dtyperrrrany_skipna_inferred_dtype s) r0cCs>tjdddddlm}ddlm}|}d|j_||dS) zj Get an instance of IPython.InteractiveShell. Will raise a skip if IPython is not installed. ZIPythonz6.0.0)Z minversionr)InteractiveShell)Configz:memory:)r)r& importorskipZIPython.core.interactiveshellr1Ztraitlets.configr2ZHistoryManagerZ hist_file)r1r2r&rrripSs   r4ZbsrZcooZcscZcsrZdiaZdokZlilcCsddlm}t||jdS)z- Yields scipy sparse matrix classes. r)sparseZ_matrix)Zscipyr5getattrrB)rCr5rrrspmatrixfs r7cCs.g|]&}tttj|tjjrttj|qSr) issubclassr6r6offsetsZTick)ryorrrrzrscCs|jS)zN Fixture for Tick based datetime offsets available for a time series. )rB)rCrrr tick_classesps r;cCs|S)Nr)r=rrrr>~r?cCs|jS)zk Simple fixture for testing keys in sorting methods. Tests None (no key) and the identity key. )rB)rCrrr sort_by_key~sr<ccsxtdddlm}ddlm}ddlm}Gddd|}|d|d d |V|ddd|j d<|j dS) Nfsspecr)register_implementation)MemoryFileSystem) _registrycs&eZdZdZdgZfddZZS)z fsspectest..TestMemoryFStestmemNcs$|dd|jd<tjf|dS)Ntestr)poprBsuperrc)rdrf) __class__rrrcsz)fsspectest..TestMemoryFS.__init__)rgrhriprotocolrBrc __classcell__rr)rEr TestMemoryFSsrHrAT)clobber) r&r3r=r>Zfsspec.implementations.memoryr?Zfsspec.registryr@rCrBstoreclear)r>r?registryrHrrr fsspectests      rM)rNN)ZEgonZVenkmanN)NCC1701DrNrNcCs|jS)zP A 3-tuple of names, the first two for operands, the last for a result. )rB)rCrrrrs r)__doc__ collectionsrrrrrrr,roperatorrZ dateutil.tzrr Z hypothesisr stZnumpyr8r&Zpytzr r Zpandas.util._test_decoratorsutilZ_test_decoratorstdZpandas.core.dtypes.dtypesr rZpandasr6rrrrrrZpandas._testingZ_testingr{Z pandas.corerZpandas.core.indexes.apirrrr!r)settingsZregister_profileZ HealthCheckZtoo_slowZ load_profilesplitrr6Ztseriesr9clsZregister_type_strategyZbuildsZintegersZbooleansZfixturer7r9rDZ axis_framerErFrIrLrMrRrSrTrWrZZ NULL_OBJECTSstrr[Znulls_fixture2nanZNaTr\Zunique_nulls_fixture2r]r_Zindex_or_series2r`rarkrsrrrrZmakeUnicodeIndexZmakeStringIndexZ makeDateIndexZmakePeriodIndexZmakeTimedeltaIndexZ makeIntIndexZ makeUIntIndexZmakeRangeIndexZmakeFloatIndexZ makeBoolIndexZmakeCategoricalIndexZmakeIntervalIndexrrPrkeysr:Zindex_fixture2rrrrrritemsZ_seriesrrZfloat16Zfloat32Zint8Zint16Zint32Zuint8Zuint16Zuint32Z_narrow_dtypesrrrrrrrrrZ_all_arithmetic_operatorsraddZraddsubZrsubmulZrmultruedivZrtruedivfloordivZ rfloordivmodZrmodpowZrpoweqneltlegtgeand_Zrand_xorZrxoror_Zror_rrZ_all_numeric_reductionsrZ_all_boolean_reductionsrZ_all_reductionsrrrrrr r Z TIMEZONESZ TIMEZONE_IDSZparametrize_fixture_docrrZtz_aware_fixture2rrZ STRING_DTYPESrZ BYTES_DTYPESrZ OBJECT_DTYPESrZDATETIME64_DTYPESrZTIMEDELTA64_DTYPESrZ FLOAT_DTYPESrZFLOAT_EA_DTYPESrrZCOMPLEX_DTYPESrZSIGNED_INT_DTYPESrZUNSIGNED_INT_DTYPESrZALL_INT_DTYPESr ZALL_EA_INT_DTYPESr!r"ZSIGNED_EA_INT_DTYPESr#ZALL_REAL_DTYPESr$ZALL_NUMPY_DTYPESr%ZNAr.Z_any_skipna_inferred_dtyperA_r0r4r7__all__r;r<rMrrrrrs@       &   "     $                  #   ( (            '  $ $ 34  "