From 6a752155f2beaf2cf21279c4927004d2954c225e Mon Sep 17 00:00:00 2001 From: Ali Hamdan Date: Fri, 15 Aug 2025 08:05:36 +0200 Subject: [PATCH] Fix series creation from dict views --- pandas-stubs/core/series.pyi | 5 +++-- tests/series/test_series.py | 10 ++++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/pandas-stubs/core/series.pyi b/pandas-stubs/core/series.pyi index 04feafba..69dfc1b0 100644 --- a/pandas-stubs/core/series.pyi +++ b/pandas-stubs/core/series.pyi @@ -2,15 +2,16 @@ from builtins import ( bool as _bool, str as _str, ) -from collections import dict_keys # type: ignore[attr-defined] from collections.abc import ( Callable, Hashable, Iterable, Iterator, + KeysView, Mapping, MutableMapping, Sequence, + ValuesView, ) from datetime import ( date, @@ -406,7 +407,7 @@ class Series(IndexOpsMixin[S1], NDFrame): @overload def __new__( cls, - data: S1 | _ListLike[S1] | dict[HashableT1, S1] | dict_keys[S1, Any], + data: S1 | _ListLike[S1] | dict[HashableT1, S1] | KeysView[S1] | ValuesView[S1], index: AxesData | None = ..., dtype: Dtype = ..., name: Hashable = ..., diff --git a/tests/series/test_series.py b/tests/series/test_series.py index 85114b4d..79519378 100644 --- a/tests/series/test_series.py +++ b/tests/series/test_series.py @@ -3801,13 +3801,11 @@ def test_series_bool_fails() -> None: pass -def test_series_dict() -> None: +def test_series_from_dict_views() -> None: # GH 812 - check( - assert_type(pd.Series({"a": 1, "b": 2}.keys()), "pd.Series[str]"), - pd.Series, - str, - ) + d = {"a": 1, "b": 2} + check(assert_type(pd.Series(d.keys()), "pd.Series[str]"), pd.Series, str) + check(assert_type(pd.Series(d.values()), "pd.Series[int]"), pd.Series, np.integer) def test_series_keys_type() -> None: