| 1294 | "dtype", ["int64", "float64"], ids=["single-block", "mixed-block"] |
| 1295 | ) |
| 1296 | def test_isetitem_series(dtype): |
| 1297 | df = DataFrame({"a": [1, 2, 3], "b": np.array([4, 5, 6], dtype=dtype)}) |
| 1298 | ser = Series([7, 8, 9]) |
| 1299 | ser_orig = ser.copy() |
| 1300 | df.isetitem(0, ser) |
| 1301 | |
| 1302 | assert np.shares_memory(get_array(df, "a"), get_array(ser)) |
| 1303 | assert not df._mgr._has_no_reference(0) |
| 1304 | |
| 1305 | # mutating dataframe doesn't update series |
| 1306 | df.loc[0, "a"] = 0 |
| 1307 | tm.assert_series_equal(ser, ser_orig) |
| 1308 | |
| 1309 | # mutating series doesn't update dataframe |
| 1310 | df = DataFrame({"a": [1, 2, 3], "b": np.array([4, 5, 6], dtype=dtype)}) |
| 1311 | ser = Series([7, 8, 9]) |
| 1312 | df.isetitem(0, ser) |
| 1313 | |
| 1314 | ser.loc[0] = 0 |
| 1315 | expected = DataFrame({"a": [7, 8, 9], "b": np.array([4, 5, 6], dtype=dtype)}) |
| 1316 | tm.assert_frame_equal(df, expected) |
| 1317 | |
| 1318 | |
| 1319 | def test_isetitem_frame(): |