Skip to content

REF: Dispatch string methods to ExtensionArray #36357

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 35 commits into from
Sep 30, 2020
Merged
Show file tree
Hide file tree
Changes from 15 commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
9e90d4e
Implement BaseDtypeTests for ArrowStringDtype
xhochy Jul 10, 2020
92f1d26
Refactor to use parametrized StringDtype
TomAugspurger Sep 3, 2020
00096f0
wip
TomAugspurger Sep 8, 2020
5a89dbf
Merge remote-tracking branch 'upstream/master' into arrow-string-arra…
TomAugspurger Sep 11, 2020
89f8e6a
annoyed
TomAugspurger Sep 11, 2020
3f82225
Merge remote-tracking branch 'upstream/master' into dispatch-string-m…
TomAugspurger Sep 14, 2020
fabc01e
wip
TomAugspurger Sep 14, 2020
a4d4ad5
remove old
TomAugspurger Sep 14, 2020
e76a3c1
fixup
TomAugspurger Sep 14, 2020
49dff8a
Merge remote-tracking branch 'upstream/master' into dispatch-string-m…
TomAugspurger Sep 17, 2020
75831b3
fixup
TomAugspurger Sep 17, 2020
1cf54cc
doctest
TomAugspurger Sep 17, 2020
fc81ebe
docstrings
TomAugspurger Sep 17, 2020
6be1af6
typing
TomAugspurger Sep 17, 2020
95b3310
typing
TomAugspurger Sep 17, 2020
20a8705
wip
TomAugspurger Sep 21, 2020
136831a
Merge remote-tracking branch 'upstream/master' into dispatch-string-m…
TomAugspurger Sep 21, 2020
38c1611
wip
TomAugspurger Sep 22, 2020
ea27e57
Merge remote-tracking branch 'upstream/master' into dispatch-string-m…
TomAugspurger Sep 22, 2020
8d3aecd
Move to arrays
TomAugspurger Sep 22, 2020
d11c2ba
Fixup types
TomAugspurger Sep 22, 2020
349e281
test coverage
TomAugspurger Sep 22, 2020
c6b99cb
Merge remote-tracking branch 'upstream/master' into dispatch-string-m…
TomAugspurger Sep 22, 2020
b7ab130
fixup
TomAugspurger Sep 22, 2020
3b837d1
Merge remote-tracking branch 'upstream/master' into dispatch-string-m…
TomAugspurger Sep 22, 2020
28cf7e6
Merge remote-tracking branch 'upstream/master' into dispatch-string-m…
TomAugspurger Sep 23, 2020
6dcd44e
update docstring
TomAugspurger Sep 23, 2020
efb3e3d
document current implementation
TomAugspurger Sep 24, 2020
0da7031
typo
TomAugspurger Sep 24, 2020
35a97ab
Merge remote-tracking branch 'upstream/master' into dispatch-string-m…
TomAugspurger Sep 25, 2020
d681f99
fixup
TomAugspurger Sep 25, 2020
cc5ceed
Merge remote-tracking branch 'upstream/master' into dispatch-string-m…
TomAugspurger Sep 29, 2020
457c112
fixup
TomAugspurger Sep 29, 2020
58e1bb9
Merge remote-tracking branch 'upstream/master' into dispatch-string-m…
TomAugspurger Sep 29, 2020
cb2fb24
simplify inheritance
TomAugspurger Sep 29, 2020
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
2 changes: 1 addition & 1 deletion ci/code_checks.sh
Original file line number Diff line number Diff line change
Expand Up @@ -335,7 +335,7 @@ if [[ -z "$CHECK" || "$CHECK" == "doctests" ]]; then
RET=$(($RET + $?)) ; echo $MSG "DONE"

MSG='Doctests strings.py' ; echo $MSG
pytest -q --doctest-modules pandas/core/strings.py
pytest -q --doctest-modules pandas/core/strings/
RET=$(($RET + $?)) ; echo $MSG "DONE"

# Directories
Expand Down
5 changes: 4 additions & 1 deletion pandas/core/arrays/categorical.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
from pandas.core.dtypes.missing import is_valid_nat_for_dtype, isna, notna

from pandas.core import ops
from pandas.core.accessor import PandasDelegate, delegate_names
from pandas.core.accessor import CachedAccessor, PandasDelegate, delegate_names
import pandas.core.algorithms as algorithms
from pandas.core.algorithms import factorize, get_data_algo, take_1d, unique1d
from pandas.core.arrays._mixins import NDArrayBackedExtensionArray
Expand All @@ -52,6 +52,7 @@
from pandas.core.missing import interpolate_2d
from pandas.core.ops.common import unpack_zerodim_and_defer
from pandas.core.sorting import nargsort
from pandas.core.strings.categorical import CategoricalStringMethods

from pandas.io.formats import console

Expand Down Expand Up @@ -2336,6 +2337,8 @@ def replace(self, to_replace, value, inplace: bool = False):
if not inplace:
return cat

_str = CachedAccessor("_str", CategoricalStringMethods)


# The Series.cat accessor

Expand Down
6 changes: 4 additions & 2 deletions pandas/core/arrays/string_.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,17 @@
from pandas._libs import lib, missing as libmissing

from pandas.core.dtypes.base import ExtensionDtype, register_extension_dtype
from pandas.core.dtypes.common import pandas_dtype
from pandas.core.dtypes.inference import is_array_like
from pandas.core.dtypes.common import is_array_like, pandas_dtype

from pandas import compat
from pandas.core import ops
from pandas.core.accessor import CachedAccessor
from pandas.core.arrays import IntegerArray, PandasArray
from pandas.core.arrays.integer import _IntegerDtype
from pandas.core.construction import extract_array
from pandas.core.indexers import check_array_indexer
from pandas.core.missing import isna
from pandas.core.strings.string_array import StringArrayMethods

if TYPE_CHECKING:
import pyarrow # noqa: F401
Expand Down Expand Up @@ -343,6 +344,7 @@ def _add_arithmetic_ops(cls):
cls.__rmul__ = cls._create_arithmetic_method(ops.rmul)

_create_comparison_method = _create_arithmetic_method
_str = CachedAccessor("_str", StringArrayMethods)


StringArray._add_arithmetic_ops()
Expand Down
Loading