A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/pandas-dev/pandas/commit/0e0a4472c4403a4049ae345abbe7c7552096b7c5 below:

stringdtype.astype(dt64_or_td64) (#50734) · pandas-dev/pandas@0e0a447 · GitHub

File tree Expand file treeCollapse file tree 4 files changed

+15

-14

lines changed

Filter options

Expand file treeCollapse file tree 4 files changed

+15

-14

lines changed Original file line number Diff line number Diff line change

@@ -954,6 +954,7 @@ Conversion

954 954

Strings

955 955

^^^^^^^

956 956

- Bug in :func:`pandas.api.dtypes.is_string_dtype` that would not return ``True`` for :class:`StringDtype` (:issue:`15585`)

957 +

- Bug in converting string dtypes to "datetime64[ns]" or "timedelta64[ns]" incorrectly raising ``TypeError`` (:issue:`36153`)

957 958

-

958 959 959 960

Interval

Original file line number Diff line number Diff line change

@@ -55,9 +55,11 @@

55 55 56 56

from pandas.core.dtypes.cast import maybe_cast_to_extension_array

57 57

from pandas.core.dtypes.common import (

58 +

is_datetime64_dtype,

58 59

is_dtype_equal,

59 60

is_list_like,

60 61

is_scalar,

62 +

is_timedelta64_dtype,

61 63

pandas_dtype,

62 64

)

63 65

from pandas.core.dtypes.dtypes import ExtensionDtype

@@ -580,6 +582,16 @@ def astype(self, dtype: AstypeArg, copy: bool = True) -> ArrayLike:

580 582

cls = dtype.construct_array_type()

581 583

return cls._from_sequence(self, dtype=dtype, copy=copy)

582 584 585 +

elif is_datetime64_dtype(dtype):

586 +

from pandas.core.arrays import DatetimeArray

587 + 588 +

return DatetimeArray._from_sequence(self, dtype=dtype, copy=copy)

589 + 590 +

elif is_timedelta64_dtype(dtype):

591 +

from pandas.core.arrays import TimedeltaArray

592 + 593 +

return TimedeltaArray._from_sequence(self, dtype=dtype, copy=copy)

594 + 583 595

return np.array(self, dtype=dtype, copy=copy)

584 596 585 597

def isna(self) -> np.ndarray | ExtensionArraySupportsAnyAll:

Original file line number Diff line number Diff line change

@@ -73,17 +73,7 @@ def test_setitem_with_scalar_string(dtype):

73 73

tm.assert_extension_array_equal(arr, expected)

74 74 75 75 76 -

def test_astype_roundtrip(dtype, request):

77 -

if dtype.storage == "pyarrow":

78 -

reason = "ValueError: Could not convert object to NumPy datetime"

79 -

mark = pytest.mark.xfail(reason=reason, raises=ValueError)

80 -

request.node.add_marker(mark)

81 -

else:

82 -

mark = pytest.mark.xfail(

83 -

reason="GH#36153 casting from StringArray to dt64 fails", raises=ValueError

84 -

)

85 -

request.node.add_marker(mark)

86 - 76 +

def test_astype_roundtrip(dtype):

87 77

ser = pd.Series(pd.date_range("2000", periods=12))

88 78

ser[0] = None

89 79 Original file line number Diff line number Diff line change

@@ -454,9 +454,7 @@ class TestAstypeString:

454 454

def test_astype_string_to_extension_dtype_roundtrip(

455 455

self, data, dtype, request, nullable_string_dtype

456 456

):

457 -

if dtype == "boolean" or (

458 -

dtype in ("datetime64[ns]", "timedelta64[ns]") and NaT in data

459 -

):

457 +

if dtype == "boolean" or (dtype == "timedelta64[ns]" and NaT in data):

460 458

mark = pytest.mark.xfail(

461 459

reason="TODO StringArray.astype() with missing values #GH40566"

462 460

)

You can’t perform that action at this time.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4