U Dx`@sFdZddlmZddlmZmZmZmZddlm 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/ddZ0ddZ1ej2j3ddej4j5fdej26dd7D]8Z8e9e j:j;e8Zed7D]DZ8e9e j:j;e8Zeed?gd3d@dAZIejAdd?gd3dBdCZJejAddDdEdFdGgd3dHdIZKejAdDdEdFdGgd3dJdKZLejAd%d2gd3dLdMZMejAdNdOdddejTed?ddgfd@edejTedugfdAedejTedugfdBe #d>e jUe #d?gfdCe "ddejTe "ddugfgZepe\ZZejAeed/dDdEZejAdFdGZejAdHdIdJdKdLdMdNgd3dOdPZejAdQde j;jDd3dRdSZejAddTd.gd3dUdVZeAdWdXZejAdYdZd[gd3d\d]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_lineconfigr6/tmp/pip-target-zr53vnty/lib/python/pandas/conftest.pypytest_configure1s     rcCsd|jdddd|jdddd|jdddd|jd dd d|jd dd d|jd ddddS)N --skip-slow store_truezskip slow tests)actionhelp--skip-networkzskip network tests --skip-dbz skip db tests--run-high-memoryzrun high memory tests --only-slowzrun only slow tests--strict-data-filesz0Fail if a test is skipped for missing data file.)Z addoption)parserrrrpytest_addoptionAsr(cCsd|jkr |jdr tdd|jkr@|jdr@tdd|jkr`|jdr`tdd |jkr|jd rtd d |jkr|jd stddS)NZslowrzskipping due to --skip-slowr%zskipping due to --only-slownetworkr"zskipping due to --skip-networkdbr#zskipping due to --skip-dbZ high_memoryr$z=skipping high memory test since --run-high-memory was not set)keywordsr getoptionpytestskip)itemrrrpytest_runtest_setupPs    r0cii)deadlineZsuppress_health_checkz)MonthBegin MonthEnd BMonthBegin BMonthEndic)n normalizez%YearBegin YearEnd BYearBegin BYearEnd )Z min_valueZ max_value)r4r5monthz1QuarterBegin QuarterEnd BQuarterBegin BQuarterEndi)r4r5Z startingMonthT)ZautousecCstdddS)z< Configure settings for all tests and test modules. Zchained_assignmentraiseN)pdZ set_optionrrrrconfigure_testssr>cCst|d<t|d<dS)z: Make `np` and `pd` names available for doctests. npr=N)r?r=)Zdoctest_namespacerrr add_importssr@indexcolumnscCsdt|S)Nzaxis reprxrrrrG)paramsidscCs|jS)z@ Fixture for returning the axis numbers of a DataFrame. paramrequestrrraxissrOF)rIcCs|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). rKrMrrrobserveds rPcCs|jS)z6 Boolean 'ordered' parameter for Categorical. rKrMrrrorderedsrQfirstlastcCs|jS)z[ Valid values for the 'keep' parameter used in .duplicated or .drop_duplicates rKrMrrrkeepsrTleftrightZbothZneithercCs|jS)z< Fixture for trying all interval closed parameters. rKrMrrrclosedsrWcCs|jS)zS Secondary closed fixture to allow parametrizing over all pairs of closed. rKrMrrr other_closedsrXgzipbz2zipxzcCs|jS)zK Fixture for trying common compression types in compression tests. rKrMrrr compressionsr]cCs|jS)zk Fixture for trying common compression types in compression tests excluding uncompressed case. rKrMrrrcompression_onlysr^cCs|jS)z, Fixture that an array is writable. rKrMrrrwritablesr_inneroutercCs|jS)z: Fixture for trying all types of join operations. rKrMrrr join_typesrbnlargest nsmallestcCs|jS)z1 Fixture for trying all nselect methods. rKrMrrrnselect_methodsrecCs|jS)z/ Fixture for each null type in pandas. rKrMrrr nulls_fixture srfcCs|jS)zL Fixture for each null type in pandas, each null type exactly once. rKrMrrrunique_nulls_fixturesrgcCs|jS)z; Fixture to parametrize over DataFrame and Series. rKrMrrrframe_or_series(srhseriescCs|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 rKrMrrrindex_or_series0s rjarraycCs|jS)zG Fixture to parametrize over Index, Series, and ExtensionArray rKrMrrrindex_or_series_or_arrayCsrlcCsGdddt}|S)z, Fixture for a dictionary subclass. c@seZdZddZdS)z"dict_subclass..TestSubDictc_stj|f||dSN)dict__init__)selfargskwargsrrrroTsz+dict_subclass..TestSubDict.__init__N)__name__ __module__ __qualname__rorrrr TestSubDictSsrv)rn)rvrrr dict_subclassMsrwcCsGdddtj}|S)z8 Fixture for a non-mapping dictionary subclass. c@s,eZdZddZddZddZddZd S) z5non_dict_mapping_subclass..TestNonDictMappingcSs ||_dSrm)_data)rpZunderlying_dictrrrroasz>non_dict_mapping_subclass..TestNonDictMapping.__init__cSs |j|Srm)rx __getitem__)rpkeyrrrrydszAnon_dict_mapping_subclass..TestNonDictMapping.__getitem__cSs |jSrm)rx__iter__rprrrr{gsz>non_dict_mapping_subclass..TestNonDictMapping.__iter__cSs |jSrm)rx__len__r|rrrr}jsz=non_dict_mapping_subclass..TestNonDictMapping.__len__N)rsrtruroryr{r}rrrrTestNonDictMapping`sr~)rMapping)r~rrrnon_dict_mapping_subclassZs rcCs`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|jSrm)yearrErrrrGzrHzAmultiindex_year_month_day_dataframe_random_data..cSs|jSrm)r:rErrrrGzrHcSs|jSrm)dayrErrrrGzrHcSsg|]}|dqS)i8)astype).0Zlevrrr |szCmultiindex_year_month_day_dataframe_random_data..rr:rT)Zinplace)tmZmakeTimeDataFramegroupbysumrAZ 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 datafoobarbazquxonetwothreerr8rRsecond)rcodesnames ABCexpname)rArB)rrr?randomrandnrrArrr 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 rrrrrrrr8rrrRrF)rrrZverify_integrity)rr?rkr)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. r8rab20130101r US/Eastern)Zperiodstzrrr)r)rZ from_productr=Z date_rangerrrr_create_mi_with_dt64tz_levelsrrz US/Pacific)rrrrrrr)unicodestringdatetimez datetime-tzperiodrintuintrangefloatboolZ categoricalintervalemptytuplesmi-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_dictrLcopyrMrrrrAs 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 supportedTdeep)rrrrmrr8N) rLr-Zxfailrrvaluestolistr from_tuplestype)rNindvalsrrrindex_with_missings    rcCstjggtjdS)N)rAdtype)r=rr?float64rrrr empty_seriessrcCst}d|_|S)zC Fixture for Series of floats with Index of unique strings ri)rZmakeStringSeriesrsrrr string_seriessrcCst}d|_|S)zI Fixture for Series of dtype object with Index of unique strings Zobjects)rZmakeObjectSeriesrrrrr object_seriessrcCst}d|_|S)z9 Fixture for Series of floats with DatetimeIndex ts)rZmakeTimeSeriesrrrrrdatetime_series srcCs$t|}tj|}tj||ddS)z Helper for the _series dict r)rAr)lenr?rrr=r)rAsizedatarrr_create_seriess rcCs"i|]\}}d|dt|qS)z series-with-z-indexr)rZindex_idrArrr s rcCst|S)zE Fixture for tests on series with changing types of indices. rrrrrseries_with_simple_index src Cs`ddddddddgddddddddgg}t|}t|}tjd}t||d}tj|d <|S) z: Fixture with a Series with a 2-level MultiIndex. rrrrrrrr)r[rrr?rrrNaN)ZarraysrrArZserrrrseries_with_multilevel_index(s    rcCs(i|] }|jdtjdd|qS)z-seriesrr)rsrZmakeFloatSeriesr)rrrrrrCs cCst|jS)z: Fixture for Series with low precision data types )_narrow_seriesrLrrMrrr narrow_seriesIsrcCst|jjddS)z| Fixture for tests on indexes, series and series with a narrow dtype copy to avoid mutation, e.g. setting .name Tr)_index_or_series_objsrLrrMrrrindex_or_series_objUsrcCstSrm)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 getSeriesDatarrrrr 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] )rrZgetTimeSeriesDatarrrrdatetime_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] )rrrrrrr float_framesr)rUrVrg?g?rz2012-01M)freqz period[M]z 2012-02-01Dz period[D]z 2011-01-01r)secondsztimedelta64[ns]cCs|jSrmrKrMrrrea_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. rKrMrrrall_arithmetic_operatorssrcCs|jS)zU Fixture for operator and roperator arithmetic, comparison, and logical ops. rKrMrrrall_binary_operatorss"rcCs|jS)z Fixture for operator and roperator arithmetic functions. Notes ----- This includes divmod and rdivmod, whereas all_arithmetic_operators does not. rKrMrrrall_arithmetic_functionssrrmaxminZmeanprodZstdvarZmedianZkurtZskewcCs|jS)z. Fixture for numeric reduction names. rKrMrrrall_numeric_reductions?srallanycCs|jS)z. Fixture for boolean reduction names. rKrMrrrall_boolean_reductionsJsrcCs|jS)z> Fixture for all (boolean + numeric) reduction names. rKrMrrrall_reductionsUsr__eq____ne____le____lt____ge____gt__cCs|jS)zu Fixture for dunder names for common compare operations * >= * > * == * != * < * <= rKrMrrrall_compare_operators]s rcCs|jS)zm Fixture for dunder names for compare operations except == and != * >= * > * < * <= rKrMrrrcompare_operators_no_eq_nels r __and____rand____or____ror____xor____rxor__cCs|jS)zY Fixture for dunder names for common logical operations * | * & * ^ rKrMrrrall_logical_operatorsys rcCs |dS)zO Returns the configuration for the test setting `--strict-data-files`. r&)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.)rqrZ BASE_PATHrrrdecos  zdatapath..deco)rrrdirname__file__)rrrrrdatapaths rcCst|ddddS)z* The iris dataset as a DataFrame. iorcsvziris.csv)r=Zread_csv)rrrririssr UTCz Asia/Tokyozdateutil/US/Pacificzdateutil/Asia/Singaporez+01:15z-02:15z UTC+01:15z UTC-02:15i,i)hoursrrcCsg|] }t|qSrrC)rirrrrsrcCs|jS)zD Fixture for trying timezones including default (None): {0} rKrMrrrtz_naive_fixturesr$cCs|jS)z4 Fixture for trying explicit timezones: {0} rKrMrrrtz_aware_fixturesr%module)ZscopecCstjS)zB Yields the UTC timezone object from the datetime module. )rr rrrrdatetime_tz_utcsr'r z dateutil/UTCcCs|jS)zQ Fixture to provide variants of UTC timezone strings and tzinfo objects. rKrMrrr utc_fixturesr(cCs|jS)zR Parametrized fixture for string dtypes. * str * 'str' * 'U' rKrMrrr string_dtypes r)cCs|jS)zK Parametrized fixture for bytes dtypes. * bytes * 'bytes' rKrMrrr bytes_dtype sr*cCs|jS)zN Parametrized fixture for object dtypes. * object * 'object' rKrMrrr object_dtypesr+cCs|jS)z\ Parametrized fixture for datetime64 dtypes. * 'datetime64[ns]' * 'M8[ns]' rKrMrrrdatetime64_dtype"sr,cCs|jS)z^ Parametrized fixture for timedelta64 dtypes. * 'timedelta64[ns]' * 'm8[ns]' rKrMrrrtimedelta64_dtype-sr-cCs|jS)z^ Parameterized fixture for float dtypes. * float * 'float32' * 'float64' rKrMrrr float_dtype8s r.cCs|jS)zR Parameterized fixture for float dtypes. * 'Float32' * 'Float64' rKrMrrrfloat_ea_dtypeDsr/cCs|jS)z~ Parameterized fixture for float dtypes. * float * 'float32' * 'float64' * 'Float32' * 'Float64' rKrMrrr any_float_allowed_nullable_dtypeOs r0cCs|jS)zg Parameterized fixture for complex dtypes. * complex * 'complex64' * 'complex128' rKrMrrr complex_dtype]s r1cCs|jS)z| Parameterized fixture for signed integer dtypes. * int * 'int8' * 'int16' * 'int32' * 'int64' rKrMrrr sint_dtypeis r2cCs|jS)zx Parameterized fixture for unsigned integer dtypes. * 'uint8' * 'uint16' * 'uint32' * 'uint64' rKrMrrr uint_dtypews r3cCs|jS)z Parameterized fixture for any integer dtype. * int * 'int8' * 'uint8' * 'int16' * 'uint16' * 'int32' * 'uint32' * 'int64' * 'uint64' rKrMrrr any_int_dtypesr4cCs|jS)z Parameterized fixture for any nullable integer dtype. * 'UInt8' * 'Int8' * 'UInt16' * 'Int16' * 'UInt32' * 'Int32' * 'UInt64' * 'Int64' rKrMrrrany_nullable_int_dtypesr5cCs|jS)a. Parameterized fixture for any nullable integer dtype. * int * 'int8' * 'uint8' * 'int16' * 'uint16' * 'int32' * 'uint32' * 'int64' * 'uint64' * 'UInt8' * 'Int8' * 'UInt16' * 'Int16' * 'UInt32' * 'Int32' * 'UInt64' * 'Int64' rKrMrrrany_int_or_nullable_int_dtypesr6cCs|jS)z Parameterized fixture for any nullable integer dtype and any float ea dtypes. * 'UInt8' * 'Int8' * 'UInt16' * 'Int16' * 'UInt32' * 'Int32' * 'UInt64' * 'Int64' * 'Float32' * 'Float64' rKrMrrrany_numeric_dtypesr7cCs|jS)z~ Parameterized fixture for any signed nullable integer dtype. * 'Int8' * 'Int16' * 'Int32' * 'Int64' rKrMrrrany_signed_nullable_int_dtypes r8cCs|jS)z Parameterized fixture for any (purely) real numeric dtype. * int * 'int8' * 'uint8' * 'int16' * 'uint16' * 'int32' * 'uint32' * 'int64' * 'uint64' * float * 'float32' * 'float64' rKrMrrrany_real_dtypesr9cCs|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' rKrMrrrany_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)rLr?rkobject)rNZinferred_dtyperrrrany_skipna_inferred_dtype:s) rEcCs>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.interactiveshellrFZtraitlets.configrGZHistoryManagerZ hist_file)rFrGr;rrripms   rIZbsrZcooZcscZcsrZdiaZdokZlilcCsddlm}t||jdS)z- Yields scipy sparse matrix classes. r)sparseZ_matrix)ZscipyrJgetattrrL)rNrJrrrspmatrixs rLcCs.g|]&}tttj|tjjrttj|qSr) issubclassrKr=offsetsZTick)rorrrrscCs|jS)zN Fixture for Tick based datetime offsets available for a time series. rKrMrrr tick_classess rPcCs|SrmrrErrrrGrHcCs|jS)zk Simple fixture for testing keys in sorting methods. Tests None (no key) and the identity key. rKrMrrr sort_by_keysrQccsxtdddlm}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)poprWsuperro)rprr __class__rrrosz)fsspectest..TestMemoryFS.__init__)rsrtruprotocolrWro __classcell__rrrZr TestMemoryFSsr^rVT)clobber) r-rHrRrSZfsspec.implementations.memoryrTZfsspec.registryrUrXrWstoreclear)rSrTregistryr^rrr fsspectests      rc)rNN)ZEgonZVenkmanN)NCC1701DrdrdcCs|jS)zP A 3-tuple of names, the first two for operands, the last for a result. rKrMrrrrs r)__doc__ collectionsrrrrrrrAroperatorrZ dateutil.tzrr Z hypothesisr stnumpyr?r-Zpytzr r Zpandas.util._test_decoratorsutilZ_test_decoratorstdZpandas.core.dtypes.dtypesr rZpandasr=rrrrrrZpandas._testingZ_testingrZ pandas.corerZpandas.core.indexes.apirrrr(r0settingsZregister_profileZ HealthCheckZtoo_slowZ load_profilesplitrrKZtseriesrNclsZregister_type_strategyZbuildsZintegersZbooleansZfixturer>r@rOZ axis_framerPrQrTrWrXr]r^r_rbreZ NULL_OBJECTSstrrfZnulls_fixture2nanZNaTrgZunique_nulls_fixture2rhrjZindex_or_series2rkrlrwrrrrrZmakeUnicodeIndexZmakeStringIndexZ makeDateIndexZmakePeriodIndexZmakeTimedeltaIndexZ makeIntIndexZ makeUIntIndexZmakeRangeIndexZmakeFloatIndexZ makeBoolIndexZmakeCategoricalIndexZmakeIntervalIndexrr[rkeysrAZindex_fixture2rrrrrritemsZ_seriesrrfloat16float32Zint8int16int32Zuint8Zuint16Zuint32Z_narrow_dtypesrrrrrrrrrZ_all_arithmetic_operatorsraddZraddsubZrsubmulZrmultruedivZrtruedivfloordivZ rfloordivmodZrmodpowZrpoweqneltlegtgeand_Zrand_xorZrxoror_Zror_rrZ_all_numeric_reductionsrZ_all_boolean_reductionsrZ_all_reductionsrrr rrrr Z TIMEZONESZ TIMEZONE_IDSZparametrize_fixture_docr$r%Ztz_aware_fixture2r'r(Z STRING_DTYPESr)Z BYTES_DTYPESr*Z OBJECT_DTYPESr+ZDATETIME64_DTYPESr,ZTIMEDELTA64_DTYPESr-Z FLOAT_DTYPESr.ZFLOAT_EA_DTYPESr/r0ZCOMPLEX_DTYPESr1ZSIGNED_INT_DTYPESr2ZUNSIGNED_INT_DTYPESr3ZALL_INT_DTYPESr4ZALL_EA_INT_DTYPESr5r6r7ZSIGNED_EA_INT_DTYPESr8ZALL_REAL_DTYPESr9ZALL_NUMPY_DTYPESr:ZNArCZ_any_skipna_inferred_dtyperJ_rErIrL__all__rPrQrcrrrrrs                                                                           "                        &  $    2&