|
4 | 4 | import pytest
|
5 | 5 |
|
6 | 6 | import pandas as pd
|
| 7 | +import pandas._testing as tm |
7 | 8 | from pandas.core.arrays.numpy_ import PandasDtype
|
8 | 9 |
|
9 | 10 | from .base import BaseExtensionTests
|
@@ -314,3 +315,31 @@ def test_setitem_nullable_mask(self, data):
|
314 | 315 | mask = pd.array([True, True, True, False, False])
|
315 | 316 | arr[mask] = data[0]
|
316 | 317 | self.assert_extension_array_equal(expected, arr)
|
| 318 | + |
| 319 | + def test_setitem_dataframe_column_with_index(self, data): |
| 320 | + # https://github.com/pandas-dev/pandas/issues/32395 |
| 321 | + df = expected = pd.DataFrame({"data": pd.Series(data)}) |
| 322 | + result = pd.DataFrame(index=df.index) |
| 323 | + result.loc[df.index, "data"] = df["data"] |
| 324 | + self.assert_frame_equal(result, expected) |
| 325 | + |
| 326 | + def test_setitem_dataframe_column_without_index(self, data): |
| 327 | + # https://github.com/pandas-dev/pandas/issues/32395 |
| 328 | + df = expected = pd.DataFrame({"data": pd.Series(data)}) |
| 329 | + result = pd.DataFrame(index=df.index) |
| 330 | + result.loc[:, "data"] = df["data"] |
| 331 | + self.assert_frame_equal(result, expected) |
| 332 | + |
| 333 | + def test_setitem_series_with_index(self, data): |
| 334 | + # https://github.com/pandas-dev/pandas/issues/32395 |
| 335 | + ser = expected = pd.Series(data, name="data") |
| 336 | + result = pd.Series(index=ser.index, dtype=np.object, name="data") |
| 337 | + result.loc[ser.index] = ser |
| 338 | + self.assert_series_equal(result, expected) |
| 339 | + |
| 340 | + def test_setitem_series_without_index(self, data): |
| 341 | + # https://github.com/pandas-dev/pandas/issues/32395 |
| 342 | + ser = expected = pd.Series(data, name="data") |
| 343 | + result = pd.Series(index=ser.index, dtype=np.object, name="data") |
| 344 | + result.loc[:] = ser |
| 345 | + self.assert_series_equal(result, expected) |
0 commit comments