diff --git a/pandas/_libs/lib.pyx b/pandas/_libs/lib.pyx index 7a18429f21a18..61d6a660a0357 100644 --- a/pandas/_libs/lib.pyx +++ b/pandas/_libs/lib.pyx @@ -100,11 +100,9 @@ def values_from_object(obj: object): """ func: object - if getattr(obj, '_typ', '') == 'dataframe': - return obj.values - func = getattr(obj, '_internal_get_values', None) if func is not None: + # Includes DataFrame, for which we get frame.values obj = func() return obj diff --git a/pandas/core/common.py b/pandas/core/common.py index 705c618fc49dc..6230ee34bcd50 100644 --- a/pandas/core/common.py +++ b/pandas/core/common.py @@ -122,7 +122,7 @@ def is_bool_indexer(key: Any) -> bool: is_array_like(key) and is_extension_array_dtype(key.dtype) ): if key.dtype == np.object_: - key = np.asarray(values_from_object(key)) + key = np.asarray(key) if not lib.is_bool_array(key): na_msg = "Cannot mask with non-boolean array containing NA / NaN values" diff --git a/pandas/core/dtypes/missing.py b/pandas/core/dtypes/missing.py index ee74b02af9516..682a0722de3b7 100644 --- a/pandas/core/dtypes/missing.py +++ b/pandas/core/dtypes/missing.py @@ -581,7 +581,7 @@ def remove_na_arraylike(arr): if is_extension_array_dtype(arr): return arr[notna(arr)] else: - return arr[notna(lib.values_from_object(arr))] + return arr[notna(np.asarray(arr))] def is_valid_nat_for_dtype(obj, dtype: DtypeObj) -> bool: diff --git a/pandas/core/reshape/merge.py b/pandas/core/reshape/merge.py index faac472b3fc31..d4d9c26686891 100644 --- a/pandas/core/reshape/merge.py +++ b/pandas/core/reshape/merge.py @@ -1923,9 +1923,6 @@ def _factorize_keys(lk, rk, sort=True): def _sort_labels(uniques: np.ndarray, left, right): - if not isinstance(uniques, np.ndarray): - # tuplesafe - uniques = Index(uniques).values llength = len(left) labels = np.concatenate([left, right]) diff --git a/pandas/core/strings.py b/pandas/core/strings.py index b0c5d6a48d99a..3be9c5fcdfb26 100644 --- a/pandas/core/strings.py +++ b/pandas/core/strings.py @@ -36,7 +36,6 @@ from pandas.core.algorithms import take_1d from pandas.core.base import NoNewAttributesMixin -import pandas.core.common as com from pandas.core.construction import extract_array if TYPE_CHECKING: @@ -782,7 +781,7 @@ def rep(x, r): return str.__mul__(x, r) repeats = np.asarray(repeats, dtype=object) - result = libops.vec_binop(com.values_from_object(arr), repeats, rep) + result = libops.vec_binop(np.asarray(arr), repeats, rep) return result