3232from .pycompat import (
3333 OrderedDict , basestring , dask_array_type , integer_types , iteritems , range )
3434from .utils import (
35- Frozen , SortedKeysDict , datetime_to_numeric , decode_numpy_dict_values ,
36- either_dict_or_kwargs , ensure_us_time_resolution , hashable ,
37- maybe_wrap_array )
35+ _check_inplace , Frozen , SortedKeysDict , datetime_to_numeric ,
36+ decode_numpy_dict_values , either_dict_or_kwargs , ensure_us_time_resolution ,
37+ hashable , maybe_wrap_array )
3838from .variable import IndexVariable , Variable , as_variable , broadcast_variables
3939
4040# list of attributes of pd.DatetimeIndex that are ndarrays of time info
@@ -1072,7 +1072,7 @@ def data_vars(self):
10721072 """
10731073 return DataVariables (self )
10741074
1075- def set_coords (self , names , inplace = False ):
1075+ def set_coords (self , names , inplace = None ):
10761076 """Given names of one or more variables, set them as coordinates
10771077
10781078 Parameters
@@ -1095,14 +1095,15 @@ def set_coords(self, names, inplace=False):
10951095 # DataFrame.set_index?
10961096 # nb. check in self._variables, not self.data_vars to insure that the
10971097 # operation is idempotent
1098+ inplace = _check_inplace (inplace )
10981099 if isinstance (names , basestring ):
10991100 names = [names ]
11001101 self ._assert_all_in_dataset (names )
11011102 obj = self if inplace else self .copy ()
11021103 obj ._coord_names .update (names )
11031104 return obj
11041105
1105- def reset_coords (self , names = None , drop = False , inplace = False ):
1106+ def reset_coords (self , names = None , drop = False , inplace = None ):
11061107 """Given names of coordinates, reset them to become variables
11071108
11081109 Parameters
@@ -1121,6 +1122,7 @@ def reset_coords(self, names=None, drop=False, inplace=False):
11211122 -------
11221123 Dataset
11231124 """
1125+ inplace = _check_inplace (inplace )
11241126 if names is None :
11251127 names = self ._coord_names - set (self .dims )
11261128 else :
@@ -2045,7 +2047,7 @@ def interp_like(self, other, method='linear', assume_sorted=False,
20452047 ds = self .reindex (object_coords )
20462048 return ds .interp (numeric_coords , method , assume_sorted , kwargs )
20472049
2048- def rename (self , name_dict = None , inplace = False , ** names ):
2050+ def rename (self , name_dict = None , inplace = None , ** names ):
20492051 """Returns a new object with renamed variables and dimensions.
20502052
20512053 Parameters
@@ -2070,6 +2072,7 @@ def rename(self, name_dict=None, inplace=False, **names):
20702072 Dataset.swap_dims
20712073 DataArray.rename
20722074 """
2075+ inplace = _check_inplace (inplace )
20732076 name_dict = either_dict_or_kwargs (name_dict , names , 'rename' )
20742077 for k , v in name_dict .items ():
20752078 if k not in self and k not in self .dims :
@@ -2095,7 +2098,7 @@ def rename(self, name_dict=None, inplace=False, **names):
20952098 return self ._replace_vars_and_dims (variables , coord_names , dims = dims ,
20962099 inplace = inplace )
20972100
2098- def swap_dims (self , dims_dict , inplace = False ):
2101+ def swap_dims (self , dims_dict , inplace = None ):
20992102 """Returns a new object with swapped dimensions.
21002103
21012104 Parameters
@@ -2119,6 +2122,7 @@ def swap_dims(self, dims_dict, inplace=False):
21192122 Dataset.rename
21202123 DataArray.swap_dims
21212124 """
2125+ inplace = _check_inplace (inplace )
21222126 for k , v in dims_dict .items ():
21232127 if k not in self .dims :
21242128 raise ValueError ('cannot swap from dimension %r because it is '
@@ -2231,7 +2235,7 @@ def expand_dims(self, dim, axis=None):
22312235
22322236 return self ._replace_vars_and_dims (variables , self ._coord_names )
22332237
2234- def set_index (self , indexes = None , append = False , inplace = False ,
2238+ def set_index (self , indexes = None , append = False , inplace = None ,
22352239 ** indexes_kwargs ):
22362240 """Set Dataset (multi-)indexes using one or more existing coordinates or
22372241 variables.
@@ -2262,14 +2266,15 @@ def set_index(self, indexes=None, append=False, inplace=False,
22622266 Dataset.reset_index
22632267 Dataset.swap_dims
22642268 """
2269+ inplace = _check_inplace (inplace )
22652270 indexes = either_dict_or_kwargs (indexes , indexes_kwargs , 'set_index' )
22662271 variables , coord_names = merge_indexes (indexes , self ._variables ,
22672272 self ._coord_names ,
22682273 append = append )
22692274 return self ._replace_vars_and_dims (variables , coord_names = coord_names ,
22702275 inplace = inplace )
22712276
2272- def reset_index (self , dims_or_levels , drop = False , inplace = False ):
2277+ def reset_index (self , dims_or_levels , drop = False , inplace = None ):
22732278 """Reset the specified index(es) or multi-index level(s).
22742279
22752280 Parameters
@@ -2293,13 +2298,14 @@ def reset_index(self, dims_or_levels, drop=False, inplace=False):
22932298 --------
22942299 Dataset.set_index
22952300 """
2301+ inplace = _check_inplace (inplace )
22962302 variables , coord_names = split_indexes (dims_or_levels , self ._variables ,
22972303 self ._coord_names ,
22982304 self ._level_coords , drop = drop )
22992305 return self ._replace_vars_and_dims (variables , coord_names = coord_names ,
23002306 inplace = inplace )
23012307
2302- def reorder_levels (self , dim_order = None , inplace = False ,
2308+ def reorder_levels (self , dim_order = None , inplace = None ,
23032309 ** dim_order_kwargs ):
23042310 """Rearrange index levels using input order.
23052311
@@ -2322,6 +2328,7 @@ def reorder_levels(self, dim_order=None, inplace=False,
23222328 Another dataset, with this dataset's data but replaced
23232329 coordinates.
23242330 """
2331+ inplace = _check_inplace (inplace )
23252332 dim_order = either_dict_or_kwargs (dim_order , dim_order_kwargs ,
23262333 'reorder_levels' )
23272334 replace_variables = {}
@@ -2472,7 +2479,7 @@ def unstack(self, dim=None):
24722479 result = result ._unstack_once (dim )
24732480 return result
24742481
2475- def update (self , other , inplace = True ):
2482+ def update (self , other , inplace = None ):
24762483 """Update this dataset's variables with those from another dataset.
24772484
24782485 Parameters
@@ -2494,12 +2501,13 @@ def update(self, other, inplace=True):
24942501 If any dimensions would have inconsistent sizes in the updated
24952502 dataset.
24962503 """
2504+ inplace = _check_inplace (inplace , default = True )
24972505 variables , coord_names , dims = dataset_update_method (self , other )
24982506
24992507 return self ._replace_vars_and_dims (variables , coord_names , dims ,
25002508 inplace = inplace )
25012509
2502- def merge (self , other , inplace = False , overwrite_vars = frozenset (),
2510+ def merge (self , other , inplace = None , overwrite_vars = frozenset (),
25032511 compat = 'no_conflicts' , join = 'outer' ):
25042512 """Merge the arrays of two datasets into a single dataset.
25052513
@@ -2550,6 +2558,7 @@ def merge(self, other, inplace=False, overwrite_vars=frozenset(),
25502558 MergeError
25512559 If any variables conflict (see ``compat``).
25522560 """
2561+ inplace = _check_inplace (inplace )
25532562 variables , coord_names , dims = dataset_merge_method (
25542563 self , other , overwrite_vars = overwrite_vars , compat = compat ,
25552564 join = join )
@@ -3317,7 +3326,6 @@ def func(self, other):
33173326
33183327 def _calculate_binary_op (self , f , other , join = 'inner' ,
33193328 inplace = False ):
3320-
33213329 def apply_over_both (lhs_data_vars , rhs_data_vars , lhs_vars , rhs_vars ):
33223330 if inplace and set (lhs_data_vars ) != set (rhs_data_vars ):
33233331 raise ValueError ('datasets must have the same data variables '
0 commit comments