copy
- UnitsAwareDataArray.copy(deep: bool = True, data: Any = None) Self
- Returns a copy of this array. - If deep=True, a deep copy is made of the data array. Otherwise, a shallow copy is made, and the returned data array’s values are a new view of this data array’s values. - Use data to create a new object with the same structure as original but entirely new data. - Parameters:
- deep (bool, optional) – Whether the data array and its coordinates are loaded into memory and copied onto the new object. Default is True. 
- data (array_like, optional) – Data to use in the new object. Must have same shape as original. When data is used, deep is ignored for all data variables, and only used for coords. 
 
- Returns:
- copy – New object with dimensions, attributes, coordinates, name, encoding, and optionally data copied from original. 
- Return type:
- DataArray 
 - Examples - Shallow versus deep copy - >>> array = xr.DataArray([1, 2, 3], dims="x", coords={"x": ["a", "b", "c"]}) >>> array.copy() <xarray.DataArray (x: 3)> Size: 24B array([1, 2, 3]) Coordinates: * x (x) <U1 12B 'a' 'b' 'c' >>> array_0 = array.copy(deep=False) >>> array_0[0] = 7 >>> array_0 <xarray.DataArray (x: 3)> Size: 24B array([7, 2, 3]) Coordinates: * x (x) <U1 12B 'a' 'b' 'c' >>> array <xarray.DataArray (x: 3)> Size: 24B array([7, 2, 3]) Coordinates: * x (x) <U1 12B 'a' 'b' 'c' - Changing the data using the - dataargument maintains the structure of the original object, but with the new data. Original object is unaffected.- >>> array.copy(data=[0.1, 0.2, 0.3]) <xarray.DataArray (x: 3)> Size: 24B array([0.1, 0.2, 0.3]) Coordinates: * x (x) <U1 12B 'a' 'b' 'c' >>> array <xarray.DataArray (x: 3)> Size: 24B array([7, 2, 3]) Coordinates: * x (x) <U1 12B 'a' 'b' 'c' - See also - pandas.DataFrame.copy