Skip to content

Commit d6dc067

Browse files
authored
Fix series creation from dict views (#1323)
1 parent 91c83bf commit d6dc067

File tree

2 files changed

+7
-8
lines changed

2 files changed

+7
-8
lines changed

pandas-stubs/core/series.pyi

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,16 @@ from builtins import (
22
bool as _bool,
33
str as _str,
44
)
5-
from collections import dict_keys # type: ignore[attr-defined]
65
from collections.abc import (
76
Callable,
87
Hashable,
98
Iterable,
109
Iterator,
10+
KeysView,
1111
Mapping,
1212
MutableMapping,
1313
Sequence,
14+
ValuesView,
1415
)
1516
from datetime import (
1617
date,
@@ -406,7 +407,7 @@ class Series(IndexOpsMixin[S1], NDFrame):
406407
@overload
407408
def __new__(
408409
cls,
409-
data: S1 | _ListLike[S1] | dict[HashableT1, S1] | dict_keys[S1, Any],
410+
data: S1 | _ListLike[S1] | dict[HashableT1, S1] | KeysView[S1] | ValuesView[S1],
410411
index: AxesData | None = ...,
411412
dtype: Dtype = ...,
412413
name: Hashable = ...,

tests/series/test_series.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3801,13 +3801,11 @@ def test_series_bool_fails() -> None:
38013801
pass
38023802

38033803

3804-
def test_series_dict() -> None:
3804+
def test_series_from_dict_views() -> None:
38053805
# GH 812
3806-
check(
3807-
assert_type(pd.Series({"a": 1, "b": 2}.keys()), "pd.Series[str]"),
3808-
pd.Series,
3809-
str,
3810-
)
3806+
d = {"a": 1, "b": 2}
3807+
check(assert_type(pd.Series(d.keys()), "pd.Series[str]"), pd.Series, str)
3808+
check(assert_type(pd.Series(d.values()), "pd.Series[int]"), pd.Series, np.integer)
38113809

38123810

38133811
def test_series_keys_type() -> None:

0 commit comments

Comments
 (0)