drop#

pdcleaner.cleaning.cleaning.drop(self, detector, inplace=False)[source]#

Clean by dropping errors

Parameters:
  • detector (a Detector object,) – The detector obj that will identify entries to clean

  • inplace (bool (Default: False)) – Whether to perform the operation in place on the data.

Warning

Dropping inplace for dataframe columns is not supported.

Return type:

The modified data or None if inplace is True

Raises:

Warning if the method is applied to a dataframe column with inplace

Examples

>>> series = pd.Series([np.nan,
                           0,
                           -5,
                           4,
                           6,
                           100,
                           ])
>>> detector = series.cleaner.detect.bounded(lower=0, upper=10)
>>> series.cleaner.clean.drop(detector)
0    NaN
1    0.0
3    4.0
4    6.0
dtype: float64

Modify inplace

>>> series.cleaner.clean.drop(detector, inplace=True)
>>> series
0    NaN
1    0.0
3    4.0
4    6.0
dtype: float64

Cleaning a dataframe

>>> df = pd.DataFrame({"col1": [np.nan, 0, -5, 4, 6, 100],
>>>                    "col2": ["a", "b", "c", "d", "e", "f"]})
>>> df_detector = df["col1"].cleaner.detect.bounded(lower=0, upper=10)
>>> df["col1"].cleaner.clean.drop(df_detector)

Cleaning a dataframe inplace with the drop method is not supported (issues a warning)

>>> df = pd.DataFrame({"col1": [np.nan, 0, -5, 4, 6, 100],
>>>                    "col2": ["a", "b", "c", "d", "e", "f"]})
>>> df_detector = df["col1"].cleaner.detect.bounded(lower=0, upper=10)
>>> df["col1"].cleaner.clean.drop(df_detector, inplace=True)