def putmask(self, mask, new, align=True, inplace=False, axis=<NUM_LIT:0>,<EOL>transpose=False):
inplace = validate_bool_kwarg(inplace, '<STR_LIT>')<EOL>new_values = self.values if inplace else self.copy().values<EOL>new_values, new = self._try_coerce_args(new_values, new)<EOL>if isinstance(new, np.ndarray) and len(new) == len(mask):<EOL><INDENT>new = new[mask]<EOL><DEDENT>mask = _safe_reshape(mask, new_values.shape)<EOL>new_values[mask] = new<EOL>new_values = self._try_coerce_result(new_values)<EOL>return [self.make_block(values=new_values)]<EOL>
putmask the data to the block; we must be a single block and not
generate other blocks

return the resulting block

Parameters
----------
mask  : the condition to respect
new : a ndarray/object
align : boolean, perform alignment on other/cond, default is True
inplace : perform inplace modification, default is False

Returns
-------
a new block, the result of the putmask