Skip to content

Commit 6d21d7c

Browse files
authored
DataFrame__getitem__: accepts generator (#714)
685
1 parent b1cb637 commit 6d21d7c

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

pandas-stubs/core/frame.pyi

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from collections.abc import (
22
Callable,
3+
Generator,
34
Hashable,
45
Iterable,
56
Iterator,
@@ -550,14 +551,15 @@ class DataFrame(NDFrame, OpsMixin):
550551
def T(self) -> DataFrame: ...
551552
def __getattr__(self, name: str) -> Series: ...
552553
@overload
553-
def __getitem__(
554+
def __getitem__( # type: ignore[misc]
554555
self,
555556
key: Series[_bool]
556557
| DataFrame
557558
| Index
558559
| np_ndarray_str
559560
| np_ndarray_bool
560-
| list[_ScalarOrTupleT],
561+
| list[_ScalarOrTupleT]
562+
| Generator[_ScalarOrTupleT, None, None],
561563
) -> DataFrame: ...
562564
@overload
563565
def __getitem__(self, key: slice) -> DataFrame: ...

tests/test_frame.py

+5
Original file line numberDiff line numberDiff line change
@@ -2715,3 +2715,8 @@ def test_groupby_fillna_inplace() -> None:
27152715
check(assert_type(groupby.fillna(0, inplace=False), pd.DataFrame), pd.DataFrame)
27162716
if TYPE_CHECKING_INVALID_USAGE:
27172717
groupby.fillna(0, inplace=True) # type: ignore[arg-type] # pyright: ignore[reportGeneralTypeIssues]
2718+
2719+
2720+
def test_getitem_generator() -> None:
2721+
# GH 685
2722+
check(assert_type(DF[(f"col{i+1}" for i in range(2))], pd.DataFrame), pd.DataFrame)

0 commit comments

Comments
 (0)