Skip to content

REF: remove checknull_old #44541

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Nov 21, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion pandas/_libs/missing.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ from numpy cimport (
cpdef bint is_matching_na(object left, object right, bint nan_matches_none=*)

cpdef bint checknull(object val, bint inf_as_na=*)
cpdef bint checknull_old(object val)
cpdef ndarray[uint8_t] isnaobj(ndarray arr, bint inf_as_na=*)

cdef bint is_null_datetime64(v)
Expand Down
16 changes: 0 additions & 16 deletions pandas/_libs/missing.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -135,10 +135,6 @@ cdef inline bint is_decimal_na(object val):
return isinstance(val, cDecimal) and val != val


cpdef bint checknull_old(object val):
return checknull(val, inf_as_na=True)


@cython.wraparound(False)
@cython.boundscheck(False)
cpdef ndarray[uint8_t] isnaobj(ndarray arr, bint inf_as_na=False):
Expand Down Expand Up @@ -176,12 +172,6 @@ cpdef ndarray[uint8_t] isnaobj(ndarray arr, bint inf_as_na=False):
return result.view(np.bool_)


@cython.wraparound(False)
@cython.boundscheck(False)
def isnaobj_old(arr: ndarray) -> ndarray:
return isnaobj(arr, inf_as_na=True)


@cython.wraparound(False)
@cython.boundscheck(False)
def isnaobj2d(arr: ndarray, inf_as_na: bool = False) -> ndarray:
Expand Down Expand Up @@ -221,12 +211,6 @@ def isnaobj2d(arr: ndarray, inf_as_na: bool = False) -> ndarray:
return result.view(np.bool_)


@cython.wraparound(False)
@cython.boundscheck(False)
def isnaobj2d_old(arr: ndarray) -> ndarray:
return isnaobj2d(arr, inf_as_na=True)


def isposinf_scalar(val: object) -> bool:
return util.is_float_object(val) and val == INF

Expand Down
5 changes: 1 addition & 4 deletions pandas/core/dtypes/missing.py
Original file line number Diff line number Diff line change
Expand Up @@ -158,10 +158,7 @@ def _isna(obj, inf_as_na: bool = False):
boolean ndarray or boolean
"""
if is_scalar(obj):
if inf_as_na:
return libmissing.checknull_old(obj)
else:
return libmissing.checknull(obj)
return libmissing.checknull(obj, inf_as_na=inf_as_na)
elif isinstance(obj, ABCMultiIndex):
raise NotImplementedError("isna is not defined for MultiIndex")
elif isinstance(obj, type):
Expand Down
26 changes: 12 additions & 14 deletions pandas/tests/dtypes/test_missing.py
Original file line number Diff line number Diff line change
Expand Up @@ -565,21 +565,19 @@ def test_na_value_for_dtype(dtype, na_value):


class TestNAObj:

_1d_methods = ["isnaobj", "isnaobj_old"]
_2d_methods = ["isnaobj2d", "isnaobj2d_old"]

def _check_behavior(self, arr, expected):
for method in TestNAObj._1d_methods:
result = getattr(libmissing, method)(arr)
tm.assert_numpy_array_equal(result, expected)
result = libmissing.isnaobj(arr)
tm.assert_numpy_array_equal(result, expected)
result = libmissing.isnaobj(arr, inf_as_na=True)
tm.assert_numpy_array_equal(result, expected)

arr = np.atleast_2d(arr)
expected = np.atleast_2d(expected)

for method in TestNAObj._2d_methods:
result = getattr(libmissing, method)(arr)
tm.assert_numpy_array_equal(result, expected)
result = libmissing.isnaobj2d(arr)
tm.assert_numpy_array_equal(result, expected)
result = libmissing.isnaobj2d(arr, inf_as_na=True)
tm.assert_numpy_array_equal(result, expected)

def test_basic(self):
arr = np.array([1, None, "foo", -5.1, NaT, np.nan])
Expand Down Expand Up @@ -676,16 +674,16 @@ def test_checknull(self, func):

def test_checknull_old(self):
for value in na_vals + sometimes_na_vals:
assert libmissing.checknull_old(value)
assert libmissing.checknull(value, inf_as_na=True)

for value in inf_vals:
assert libmissing.checknull_old(value)
assert libmissing.checknull(value, inf_as_na=True)

for value in int_na_vals:
assert not libmissing.checknull_old(value)
assert not libmissing.checknull(value, inf_as_na=True)

for value in never_na_vals:
assert not libmissing.checknull_old(value)
assert not libmissing.checknull(value, inf_as_na=True)

def test_is_null_datetimelike(self):
for value in na_vals:
Expand Down