Skip to content

Commit 11a7bd9

Browse files
gh1203_loc_dict
1 parent 9c02c36 commit 11a7bd9

File tree

2 files changed

+25
-3
lines changed

2 files changed

+25
-3
lines changed

pandas-stubs/core/frame.pyi

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,9 @@ class _iLocIndexerFrame(_iLocIndexer, Generic[_T]):
176176
| tuple[IndexType, IndexType]
177177
| tuple[int, IndexType]
178178
),
179-
value: Scalar | Series | DataFrame | np.ndarray | NAType | NaTType | None,
179+
value: (
180+
Scalar | Series | DataFrame | np.ndarray | NAType | NaTType | dict | None
181+
),
180182
) -> None: ...
181183

182184
class _LocIndexerFrame(_LocIndexer, Generic[_T]):
@@ -239,13 +241,23 @@ class _LocIndexerFrame(_LocIndexer, Generic[_T]):
239241
idx: (
240242
MaskType | StrLike | _IndexSliceTuple | list[ScalarT] | IndexingInt | slice
241243
),
242-
value: Scalar | NAType | NaTType | ArrayLike | Series | DataFrame | list | None,
244+
value: (
245+
Scalar
246+
| NAType
247+
| NaTType
248+
| ArrayLike
249+
| Series
250+
| DataFrame
251+
| list
252+
| dict
253+
| None
254+
),
243255
) -> None: ...
244256
@overload
245257
def __setitem__(
246258
self,
247259
idx: tuple[_IndexSliceTuple, Hashable],
248-
value: Scalar | NAType | NaTType | ArrayLike | Series | list | None,
260+
value: Scalar | NAType | NaTType | ArrayLike | Series | list | dict | None,
249261
) -> None: ...
250262

251263
# With mypy 1.14.1 and python 3.12, the second overload needs a type-ignore statement

tests/test_frame.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4134,3 +4134,13 @@ def test_combine() -> None:
41344134
),
41354135
pd.DataFrame,
41364136
)
4137+
4138+
4139+
def test_df_loc_dict() -> None:
4140+
"""Test that we can set a dict to a df.loc result GH1203."""
4141+
df = pd.DataFrame(columns=["X"])
4142+
df.loc[0] = {"X": 0}
4143+
check(assert_type(df, pd.DataFrame), pd.DataFrame)
4144+
4145+
df.iloc[0] = {"X": 0}
4146+
check(assert_type(df, pd.DataFrame), pd.DataFrame)

0 commit comments

Comments
 (0)