Skip to content

Commit d2f3872

Browse files
Merge remote-tracking branch 'upstream/master' into bisect
2 parents d2d4ea7 + de290f7 commit d2f3872

File tree

214 files changed

+3227
-2251
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

214 files changed

+3227
-2251
lines changed

.pre-commit-config.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,8 @@ repos:
111111
# Incorrect code-block / IPython directives
112112
|\.\.\ code-block\ ::
113113
|\.\.\ ipython\ ::
114+
# directive should not have a space before ::
115+
|\.\.\ \w+\ ::
114116
115117
# Check for deprecated messages without sphinx directive
116118
|(DEPRECATED|DEPRECATE|Deprecated)(:|,|\.)

ci/code_checks.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,8 @@ fi
9393
### DOCSTRINGS ###
9494
if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
9595

96-
MSG='Validate docstrings (GL01, GL02, GL03, GL04, GL05, GL06, GL07, GL09, GL10, SS01, SS02, SS03, SS04, SS05, PR03, PR04, PR05, PR08, PRO9, PR10, EX04, RT01, RT04, RT05, SA02, SA03)' ; echo $MSG
97-
$BASE_DIR/scripts/validate_docstrings.py --format=actions --errors=GL01,GL02,GL03,GL04,GL05,GL06,GL07,GL09,GL10,SS02,SS03,SS04,SS05,PR03,PR04,PR05,PR08,PR09,PR10,EX04,RT01,RT04,RT05,SA02,SA03
96+
MSG='Validate docstrings (GL01, GL02, GL03, GL04, GL05, GL06, GL07, GL09, GL10, SS01, SS02, SS03, SS04, SS05, PR03, PR04, PR05, PR06, PR08, PR09, PR10, EX04, RT01, RT04, RT05, SA02, SA03)' ; echo $MSG
97+
$BASE_DIR/scripts/validate_docstrings.py --format=actions --errors=GL01,GL02,GL03,GL04,GL05,GL06,GL07,GL09,GL10,SS02,SS03,SS04,SS05,PR03,PR04,PR05,PR06,PR08,PR09,PR10,EX04,RT01,RT04,RT05,SA02,SA03
9898
RET=$(($RET + $?)) ; echo $MSG "DONE"
9999

100100
fi

doc/source/user_guide/io.rst

+14-2
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,18 @@ squeeze : boolean, default ``False``
161161
the data.
162162
prefix : str, default ``None``
163163
Prefix to add to column numbers when no header, e.g. 'X' for X0, X1, ...
164+
165+
.. deprecated:: 1.4.0
166+
Use a list comprehension on the DataFrame's columns after calling ``read_csv``.
167+
168+
.. ipython:: python
169+
170+
data = "col1,col2,col3\na,b,1"
171+
172+
df = pd.read_csv(StringIO(data))
173+
df.columns = [f"pre_{col}" for col in df.columns]
174+
df
175+
164176
mangle_dupe_cols : boolean, default ``True``
165177
Duplicate columns will be specified as 'X', 'X.1'...'X.N', rather than 'X'...'X'.
166178
Passing in ``False`` will cause data to be overwritten if there are duplicate
@@ -3534,9 +3546,9 @@ with ``on_demand=True``.
35343546
Specifying sheets
35353547
+++++++++++++++++
35363548

3537-
.. note :: The second argument is ``sheet_name``, not to be confused with ``ExcelFile.sheet_names``.
3549+
.. note:: The second argument is ``sheet_name``, not to be confused with ``ExcelFile.sheet_names``.
35383550

3539-
.. note :: An ExcelFile's attribute ``sheet_names`` provides access to a list of sheets.
3551+
.. note:: An ExcelFile's attribute ``sheet_names`` provides access to a list of sheets.
35403552

35413553
* The arguments ``sheet_name`` allows specifying the sheet or sheets to read.
35423554
* The default value for ``sheet_name`` is 0, indicating to read the first sheet

doc/source/whatsnew/v0.10.0.rst

+19-4
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@ labeled the aggregated group with the end of the interval: the next day).
181181
``X0``, ``X1``, ...) can be reproduced by specifying ``prefix='X'``:
182182

183183
.. ipython:: python
184+
:okwarning:
184185
185186
import io
186187
@@ -197,11 +198,25 @@ labeled the aggregated group with the end of the interval: the next day).
197198
though this can be controlled by new ``true_values`` and ``false_values``
198199
arguments:
199200

200-
.. ipython:: python
201+
.. code-block:: ipython
201202
202-
print(data)
203-
pd.read_csv(io.StringIO(data))
204-
pd.read_csv(io.StringIO(data), true_values=["Yes"], false_values=["No"])
203+
In [4]: print(data)
204+
205+
a,b,c
206+
1,Yes,2
207+
3,No,4
208+
209+
In [5]: pd.read_csv(io.StringIO(data))
210+
Out[5]:
211+
a b c
212+
0 1 Yes 2
213+
1 3 No 4
214+
215+
In [6]: pd.read_csv(io.StringIO(data), true_values=["Yes"], false_values=["No"])
216+
Out[6]:
217+
a b c
218+
0 1 True 2
219+
1 3 False 4
205220
206221
- The file parsers will not recognize non-string values arising from a
207222
converter function as NA if passed in the ``na_values`` argument. It's better

doc/source/whatsnew/v1.3.5.rst

+4-19
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
.. _whatsnew_135:
22

3-
What's new in 1.3.5 (November ??, 2021)
3+
What's new in 1.3.5 (December 12, 2021)
44
---------------------------------------
55

66
These are the changes in pandas 1.3.5. See :ref:`release` for a full changelog
@@ -16,29 +16,14 @@ Fixed regressions
1616
~~~~~~~~~~~~~~~~~
1717
- Fixed regression in :meth:`Series.equals` when comparing floats with dtype object to None (:issue:`44190`)
1818
- Fixed regression in :func:`merge_asof` raising error when array was supplied as join key (:issue:`42844`)
19+
- Fixed regression when resampling :class:`DataFrame` with :class:`DateTimeIndex` with empty groups and ``uint8``, ``uint16`` or ``uint32`` columns incorrectly raising ``RuntimeError`` (:issue:`43329`)
1920
- Fixed regression in creating a :class:`DataFrame` from a timezone-aware :class:`Timestamp` scalar near a Daylight Savings Time transition (:issue:`42505`)
2021
- Fixed performance regression in :func:`read_csv` (:issue:`44106`)
2122
- Fixed regression in :meth:`Series.duplicated` and :meth:`Series.drop_duplicates` when Series has :class:`Categorical` dtype with boolean categories (:issue:`44351`)
2223
- Fixed regression in :meth:`.GroupBy.sum` with ``timedelta64[ns]`` dtype containing ``NaT`` failing to treat that value as NA (:issue:`42659`)
23-
-
24+
- Fixed regression in :meth:`.RollingGroupby.cov` and :meth:`.RollingGroupby.corr` when ``other`` had the same shape as each group would incorrectly return superfluous groups in the result (:issue:`42915`)
25+
- Fixed regression where a single column ``np.matrix`` was no longer coerced to a 1d ``np.ndarray`` when added to a :class:`DataFrame` (:issue:`42376`)
2426

25-
.. ---------------------------------------------------------------------------
26-
27-
.. _whatsnew_135.bug_fixes:
28-
29-
Bug fixes
30-
~~~~~~~~~
31-
-
32-
-
33-
34-
.. ---------------------------------------------------------------------------
35-
36-
.. _whatsnew_135.other:
37-
38-
Other
39-
~~~~~
40-
-
41-
-
4227

4328
.. ---------------------------------------------------------------------------
4429

doc/source/whatsnew/v1.4.0.rst

+27-3
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,14 @@ Previously, negative arguments returned empty frames.
164164
df.groupby("A").nth(slice(1, -1))
165165
df.groupby("A").nth([slice(None, 1), slice(-1, None)])
166166
167+
:meth:`.GroupBy.nth` now accepts index notation.
168+
169+
.. ipython:: python
170+
171+
df.groupby("A").nth[1, -1]
172+
df.groupby("A").nth[1:-1]
173+
df.groupby("A").nth[:1, -1:]
174+
167175
.. _whatsnew_140.dict_tight:
168176

169177
DataFrame.from_dict and DataFrame.to_dict have new ``'tight'`` option
@@ -190,6 +198,7 @@ representation of :class:`DataFrame` objects (:issue:`4889`).
190198

191199
Other enhancements
192200
^^^^^^^^^^^^^^^^^^
201+
- :meth:`concat` will preserve the ``attrs`` when it is the same for all objects and discard the ``attrs`` when they are different. (:issue:`41828`)
193202
- :class:`DataFrameGroupBy` operations with ``as_index=False`` now correctly retain ``ExtensionDtype`` dtypes for columns being grouped on (:issue:`41373`)
194203
- Add support for assigning values to ``by`` argument in :meth:`DataFrame.plot.hist` and :meth:`DataFrame.plot.box` (:issue:`15079`)
195204
- :meth:`Series.sample`, :meth:`DataFrame.sample`, and :meth:`.GroupBy.sample` now accept a ``np.random.Generator`` as input to ``random_state``. A generator will be more performant, especially with ``replace=False`` (:issue:`38100`)
@@ -210,14 +219,19 @@ Other enhancements
210219
- :meth:`DataFrame.dropna` now accepts a single label as ``subset`` along with array-like (:issue:`41021`)
211220
- :class:`ExcelWriter` argument ``if_sheet_exists="overlay"`` option added (:issue:`40231`)
212221
- :meth:`read_excel` now accepts a ``decimal`` argument that allow the user to specify the decimal point when parsing string columns to numeric (:issue:`14403`)
213-
- :meth:`.GroupBy.mean` now supports `Numba <http://numba.pydata.org/>`_ execution with the ``engine`` keyword (:issue:`43731`)
222+
- :meth:`.GroupBy.mean`, :meth:`.GroupBy.std`, and :meth:`.GroupBy.var` now supports `Numba <http://numba.pydata.org/>`_ execution with the ``engine`` keyword (:issue:`43731`, :issue:`44862`)
214223
- :meth:`Timestamp.isoformat`, now handles the ``timespec`` argument from the base :class:``datetime`` class (:issue:`26131`)
215224
- :meth:`NaT.to_numpy` ``dtype`` argument is now respected, so ``np.timedelta64`` can be returned (:issue:`44460`)
216225
- New option ``display.max_dir_items`` customizes the number of columns added to :meth:`Dataframe.__dir__` and suggested for tab completion (:issue:`37996`)
217226
- Added "Juneteenth National Independence Day" to
218227
``USFederalHolidayCalendar``. See also `Other API changes`_.
219228
- :meth:`.Rolling.var`, :meth:`.Expanding.var`, :meth:`.Rolling.std`, :meth:`.Expanding.std` now support `Numba <http://numba.pydata.org/>`_ execution with the ``engine`` keyword (:issue:`44461`)
220229
- :meth:`Series.info` has been added, for compatibility with :meth:`DataFrame.info` (:issue:`5167`)
230+
- Implemented :meth:`IntervalArray.min`, :meth:`IntervalArray.max`, as a result of which ``min`` and ``max`` now work for :class:`IntervalIndex`, :class:`Series` and :class:`DataFrame` with ``IntervalDtype`` (:issue:`44746`)
231+
- :meth:`UInt64Index.map` now retains ``dtype`` where possible (:issue:`44609`)
232+
- :meth:`read_json` can now parse unsigned long long integers (:issue:`26068`)
233+
- :meth:`DataFrame.take` now raises a ``TypeError`` when passed a scalar for the indexer (:issue:`42875`)
234+
-
221235

222236

223237
.. ---------------------------------------------------------------------------
@@ -517,6 +531,7 @@ Other Deprecations
517531
- Deprecated casting behavior when setting timezone-aware value(s) into a timezone-aware :class:`Series` or :class:`DataFrame` column when the timezones do not match. Previously this cast to object dtype. In a future version, the values being inserted will be converted to the series or column's existing timezone (:issue:`37605`)
518532
- Deprecated casting behavior when passing an item with mismatched-timezone to :meth:`DatetimeIndex.insert`, :meth:`DatetimeIndex.putmask`, :meth:`DatetimeIndex.where` :meth:`DatetimeIndex.fillna`, :meth:`Series.mask`, :meth:`Series.where`, :meth:`Series.fillna`, :meth:`Series.shift`, :meth:`Series.replace`, :meth:`Series.reindex` (and :class:`DataFrame` column analogues). In the past this has cast to object dtype. In a future version, these will cast the passed item to the index or series's timezone (:issue:`37605`)
519533
- Deprecated the 'errors' keyword argument in :meth:`Series.where`, :meth:`DataFrame.where`, :meth:`Series.mask`, and meth:`DataFrame.mask`; in a future version the argument will be removed (:issue:`44294`)
534+
- Deprecated the ``prefix`` keyword argument in :func:`read_csv` and :func:`read_table`, in a future version the argument will be removed (:issue:`43396`)
520535
- Deprecated :meth:`PeriodIndex.astype` to ``datetime64[ns]`` or ``DatetimeTZDtype``, use ``obj.to_timestamp(how).tz_localize(dtype.tz)`` instead (:issue:`44398`)
521536
- Deprecated passing non boolean argument to sort in :func:`concat` (:issue:`41518`)
522537
- Deprecated passing arguments as positional for :func:`read_fwf` other than ``filepath_or_buffer`` (:issue:`41485`):
@@ -534,7 +549,7 @@ Performance improvements
534549
- Performance improvement in :meth:`.GroupBy.sample`, especially when ``weights`` argument provided (:issue:`34483`)
535550
- Performance improvement when converting non-string arrays to string arrays (:issue:`34483`)
536551
- Performance improvement in :meth:`.GroupBy.transform` for user-defined functions (:issue:`41598`)
537-
- Performance improvement in constructing :class:`DataFrame` objects (:issue:`42631`, :issue:`43142`, :issue:`43147`, :issue:`43307`, :issue:`43144`)
552+
- Performance improvement in constructing :class:`DataFrame` objects (:issue:`42631`, :issue:`43142`, :issue:`43147`, :issue:`43307`, :issue:`43144`, :issue:`44826`)
538553
- Performance improvement in :meth:`GroupBy.shift` when ``fill_value`` argument is provided (:issue:`26615`)
539554
- Performance improvement in :meth:`DataFrame.corr` for ``method=pearson`` on data without missing values (:issue:`40956`)
540555
- Performance improvement in some :meth:`GroupBy.apply` operations (:issue:`42992`, :issue:`43578`)
@@ -631,6 +646,7 @@ Numeric
631646
- Bug in arithmetic operations involving :class:`RangeIndex` where the result would have the incorrect ``name`` (:issue:`43962`)
632647
- Bug in arithmetic operations involving :class:`Series` where the result could have the incorrect ``name`` when the operands having matching NA or matching tuple names (:issue:`44459`)
633648
- Bug in division with ``IntegerDtype`` or ``BooleanDtype`` array and NA scalar incorrectly raising (:issue:`44685`)
649+
- Bug in multiplying a :class:`Series` with ``FloatingDtype`` with a timedelta-like scalar incorrectly raising (:issue:`44772`)
634650
-
635651

636652
Conversion
@@ -640,7 +656,7 @@ Conversion
640656
- Bug in :class:`IntegerDtype` not allowing coercion from string dtype (:issue:`25472`)
641657
- Bug in :func:`to_datetime` with ``arg:xr.DataArray`` and ``unit="ns"`` specified raises TypeError (:issue:`44053`)
642658
- Bug in :meth:`DataFrame.convert_dtypes` not returning the correct type when a subclass does not overload :meth:`_constructor_sliced` (:issue:`43201`)
643-
-
659+
- Bug in :meth:`DataFrame.astype` not propagating ``attrs`` from the original :class:`DataFrame` (:issue:`44414`)
644660

645661
Strings
646662
^^^^^^^
@@ -683,6 +699,7 @@ Indexing
683699
- Bug in :meth:`DataFrame.loc.__getitem__` incorrectly raising ``KeyError`` when selecting a single column with a boolean key (:issue:`44322`).
684700
- Bug in setting :meth:`DataFrame.iloc` with a single ``ExtensionDtype`` column and setting 2D values e.g. ``df.iloc[:] = df.values`` incorrectly raising (:issue:`44514`)
685701
- Bug in indexing on columns with ``loc`` or ``iloc`` using a slice with a negative step with ``ExtensionDtype`` columns incorrectly raising (:issue:`44551`)
702+
- Bug in :meth:`DataFrame.loc.__setitem__` changing dtype when indexer was completely ``False`` (:issue:`37550`)
686703
- Bug in :meth:`IntervalIndex.get_indexer_non_unique` returning boolean mask instead of array of integers for a non unique and non monotonic index (:issue:`44084`)
687704
- Bug in :meth:`IntervalIndex.get_indexer_non_unique` not handling targets of ``dtype`` 'object' with NaNs correctly (:issue:`44482`)
688705
-
@@ -692,13 +709,15 @@ Missing
692709
- Bug in :meth:`DataFrame.fillna` with limit and no method ignores axis='columns' or ``axis = 1`` (:issue:`40989`)
693710
- Bug in :meth:`DataFrame.fillna` not replacing missing values when using a dict-like ``value`` and duplicate column names (:issue:`43476`)
694711
- Bug in constructing a :class:`DataFrame` with a dictionary ``np.datetime64`` as a value and ``dtype='timedelta64[ns]'``, or vice-versa, incorrectly casting instead of raising (:issue:`??`)
712+
- Bug in :meth:`Series.interpolate` and :meth:`DataFrame.interpolate` with ``inplace=True`` not writing to the underlying array(s) in-place (:issue:`44749`)
695713
-
696714

697715
MultiIndex
698716
^^^^^^^^^^
699717
- Bug in :meth:`MultiIndex.get_loc` where the first level is a :class:`DatetimeIndex` and a string key is passed (:issue:`42465`)
700718
- Bug in :meth:`MultiIndex.reindex` when passing a ``level`` that corresponds to an ``ExtensionDtype`` level (:issue:`42043`)
701719
- Bug in :meth:`MultiIndex.get_loc` raising ``TypeError`` instead of ``KeyError`` on nested tuple (:issue:`42440`)
720+
- Bug in :meth:`MultiIndex.union` setting wrong ``sortorder`` causing errors in subsequent indexing operations with slices (:issue:`44752`)
702721
- Bug in :meth:`MultiIndex.putmask` where the other value was also a :class:`MultiIndex` (:issue:`43212`)
703722
-
704723

@@ -733,6 +752,9 @@ I/O
733752
- Bug in :func:`read_csv` raising ``AttributeError`` when attempting to read a .csv file and infer index column dtype from an nullable integer type (:issue:`44079`)
734753
- :meth:`DataFrame.to_csv` and :meth:`Series.to_csv` with ``compression`` set to ``'zip'`` no longer create a zip file containing a file ending with ".zip". Instead, they try to infer the inner file name more smartly. (:issue:`39465`)
735754
- Bug in :func:`read_csv` when passing simultaneously a parser in ``date_parser`` and ``parse_dates=False``, the parsing was still called (:issue:`44366`)
755+
- Bug in :func:`read_csv` silently ignoring errors when failling to create a memory-mapped file (:issue:`44766`)
756+
- Bug in :func:`read_csv` when passing a ``tempfile.SpooledTemporaryFile`` opened in binary mode (:issue:`44748`)
757+
-
736758

737759
Period
738760
^^^^^^
@@ -803,6 +825,8 @@ ExtensionArray
803825
- Avoid raising ``PerformanceWarning`` about fragmented DataFrame when using many columns with an extension dtype (:issue:`44098`)
804826
- Bug in :class:`IntegerArray` and :class:`FloatingArray` construction incorrectly coercing mismatched NA values (e.g. ``np.timedelta64("NaT")``) to numeric NA (:issue:`44514`)
805827
- Bug in :meth:`BooleanArray.__eq__` and :meth:`BooleanArray.__ne__` raising ``TypeError`` on comparison with an incompatible type (like a string). This caused :meth:`DataFrame.replace` to sometimes raise a ``TypeError`` if a nullable boolean column was included (:issue:`44499`)
828+
- Bug in :func:`array` incorrectly raising when passed a ``ndarray`` with ``float16`` dtype (:issue:`44715`)
829+
- Bug in calling ``np.sqrt`` on :class:`BooleanArray` returning a malformed :class:`FloatingArray` (:issue:`44715`)
806830
- Bug in :meth:`Series.where` with ``ExtensionDtype`` when ``other`` is a NA scalar incompatible with the series dtype (e.g. ``NaT`` with a numeric dtype) incorrectly casting to a compatible NA value (:issue:`44697`)
807831
-
808832

pandas/_config/config.py

-1
Original file line numberDiff line numberDiff line change
@@ -642,7 +642,6 @@ def _warn_if_deprecated(key: str) -> bool:
642642
d = _get_deprecated_option(key)
643643
if d:
644644
if d.msg:
645-
print(d.msg)
646645
warnings.warn(d.msg, FutureWarning)
647646
else:
648647
msg = f"'{key}' is deprecated"

pandas/_libs/interval.pyx

+3-3
Original file line numberDiff line numberDiff line change
@@ -516,9 +516,9 @@ def intervals_to_interval_bounds(ndarray intervals, bint validate_closed=True):
516516
517517
Returns
518518
-------
519-
tuple of tuples
520-
left : (ndarray, object, array)
521-
right : (ndarray, object, array)
519+
tuple of
520+
left : ndarray
521+
right : ndarray
522522
closed: str
523523
"""
524524
cdef:

pandas/_libs/join.pyi

+6-6
Original file line numberDiff line numberDiff line change
@@ -55,39 +55,39 @@ def asof_join_backward_on_X_by_Y(
5555
left_by_values: np.ndarray, # by_t[:]
5656
right_by_values: np.ndarray, # by_t[:]
5757
allow_exact_matches: bool = ...,
58-
tolerance=...,
58+
tolerance: np.number | int | float | None = ...,
5959
) -> tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]]: ...
6060
def asof_join_forward_on_X_by_Y(
6161
left_values: np.ndarray, # asof_t[:]
6262
right_values: np.ndarray, # asof_t[:]
6363
left_by_values: np.ndarray, # by_t[:]
6464
right_by_values: np.ndarray, # by_t[:]
6565
allow_exact_matches: bool = ...,
66-
tolerance=...,
66+
tolerance: np.number | int | float | None = ...,
6767
) -> tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]]: ...
6868
def asof_join_nearest_on_X_by_Y(
6969
left_values: np.ndarray, # asof_t[:]
7070
right_values: np.ndarray, # asof_t[:]
7171
left_by_values: np.ndarray, # by_t[:]
7272
right_by_values: np.ndarray, # by_t[:]
7373
allow_exact_matches: bool = ...,
74-
tolerance=...,
74+
tolerance: np.number | int | float | None = ...,
7575
) -> tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]]: ...
7676
def asof_join_backward(
7777
left_values: np.ndarray, # asof_t[:]
7878
right_values: np.ndarray, # asof_t[:]
7979
allow_exact_matches: bool = ...,
80-
tolerance=...,
80+
tolerance: np.number | int | float | None = ...,
8181
) -> tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]]: ...
8282
def asof_join_forward(
8383
left_values: np.ndarray, # asof_t[:]
8484
right_values: np.ndarray, # asof_t[:]
8585
allow_exact_matches: bool = ...,
86-
tolerance=...,
86+
tolerance: np.number | int | float | None = ...,
8787
) -> tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]]: ...
8888
def asof_join_nearest(
8989
left_values: np.ndarray, # asof_t[:]
9090
right_values: np.ndarray, # asof_t[:]
9191
allow_exact_matches: bool = ...,
92-
tolerance=...,
92+
tolerance: np.number | int | float | None = ...,
9393
) -> tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]]: ...

pandas/_libs/missing.pyi

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import numpy as np
2+
from numpy import typing as npt
3+
4+
class NAType: ...
5+
6+
NA: NAType
7+
8+
def is_matching_na(
9+
left: object, right: object, nan_matches_none: bool = ...
10+
) -> bool: ...
11+
def isposinf_scalar(val: object) -> bool: ...
12+
def isneginf_scalar(val: object) -> bool: ...
13+
def checknull(val: object, inf_as_na: bool = ...) -> bool: ...
14+
def isnaobj(arr: np.ndarray, inf_as_na: bool = ...) -> npt.NDArray[np.bool_]: ...
15+
def is_numeric_na(values: np.ndarray) -> npt.NDArray[np.bool_]: ...

0 commit comments

Comments
 (0)