def dropna(self, drop_nan=True, drop_masked=True, column_names=None):
copy = self.copy()<EOL>copy.select_non_missing(drop_nan=drop_nan, drop_masked=drop_masked, column_names=column_names,<EOL>name=FILTER_SELECTION_NAME, mode='<STR_LIT>')<EOL>return copy<EOL>
Create a shallow copy of a DataFrame, with filtering set using select_non_missing.

        :param drop_nan: drop rows when there is a NaN in any of the columns (will only affect float values)
        :param drop_masked: drop rows when there is a masked value in any of the columns
        :param column_names: The columns to consider, default: all (real, non-virtual) columns
        :rtype: DataFrame