@@ -4375,13 +4375,16 @@ def test_drop_attrs(self) -> None:
43754375 pd .MultiIndex .from_tuples ([(1 , 2 ), (3 , 4 )], names = ["d" , "e" ]), "z"
43764376 )
43774377 ds = Dataset (dict (var1 = var ), coords = dict (y = idx , z = mx )).assign_attrs (a = 1 , b = 2 )
4378+ assert ds .attrs != {}
4379+ assert ds ["var1" ].attrs != {}
4380+ assert ds ["y" ].attrs != {}
43784381 assert ds .coords ["y" ].attrs != {}
43794382
43804383 original = ds .copy (deep = True )
43814384 result = ds .drop_attrs ()
43824385
43834386 assert result .attrs == {}
4384- assert result ["x " ].attrs == {}
4387+ assert result ["var1 " ].attrs == {}
43854388 assert result ["y" ].attrs == {}
43864389 assert list (result .data_vars ) == list (ds .data_vars )
43874390 assert list (result .coords ) == list (ds .coords )
@@ -4392,6 +4395,14 @@ def test_drop_attrs(self) -> None:
43924395 # can't currently contain `attrs`, so we can't test those.)
43934396 assert ds .coords ["y" ].attrs != {}
43944397
4398+ # Test for deep=False
4399+ result_shallow = ds .drop_attrs (deep = False )
4400+ assert result_shallow .attrs == {}
4401+ assert result_shallow ["var1" ].attrs != {}
4402+ assert result_shallow ["y" ].attrs != {}
4403+ assert list (result .data_vars ) == list (ds .data_vars )
4404+ assert list (result .coords ) == list (ds .coords )
4405+
43954406 def test_assign_multiindex_level (self ) -> None :
43964407 data = create_test_multiindex ()
43974408 with pytest .raises (ValueError , match = r"cannot drop or update.*corrupt.*index " ):
0 commit comments