From 381ffd46f83f06bc627faf86b2597cb178c9ad3e Mon Sep 17 00:00:00 2001 From: Tom Augspurger Date: Mon, 2 Apr 2018 06:36:01 -0500 Subject: [PATCH] BUG: Series[EA].astype(str) works Closes https://github.com/pandas-dev/pandas/issues/20578 --- pandas/core/internals.py | 2 +- pandas/tests/extension/base/casting.py | 5 +++++ pandas/tests/extension/json/test_json.py | 7 ++++++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/pandas/core/internals.py b/pandas/core/internals.py index b0a6086c450ef..e8fab3748bacf 100644 --- a/pandas/core/internals.py +++ b/pandas/core/internals.py @@ -655,7 +655,7 @@ def _astype(self, dtype, copy=False, errors='raise', values=None, # astype formatting else: - values = self.values + values = self.get_values() else: values = self.get_values(dtype=dtype) diff --git a/pandas/tests/extension/base/casting.py b/pandas/tests/extension/base/casting.py index 74fe8f196a089..7146443bf8de5 100644 --- a/pandas/tests/extension/base/casting.py +++ b/pandas/tests/extension/base/casting.py @@ -16,3 +16,8 @@ def test_tolist(self, data): result = pd.Series(data).tolist() expected = list(data) assert result == expected + + def test_astype_str(self, data): + result = pd.Series(data[:5]).astype(str) + expected = pd.Series(data[:5].astype(str)) + self.assert_series_equal(result, expected) diff --git a/pandas/tests/extension/json/test_json.py b/pandas/tests/extension/json/test_json.py index 5e9639c487c37..87668cc1196b6 100644 --- a/pandas/tests/extension/json/test_json.py +++ b/pandas/tests/extension/json/test_json.py @@ -127,7 +127,12 @@ def test_sort_values_missing(self, data_missing_for_sorting, ascending): class TestCasting(base.BaseCastingTests): - pass + @pytest.mark.xfail + def test_astype_str(self): + """This currently fails in NumPy on np.array(self, dtype=str) with + + *** ValueError: setting an array element with a sequence + """ class TestGroupby(base.BaseGroupbyTests):