# Buggy code
def drop_duplicates(self, keep="first", inplace=False, **kwargs):
    """Return DataFrame with duplicate rows removed, optionally only considering certain columns

    Args:
        subset : column label or sequence of labels, optional
            Only consider certain columns for identifying duplicates, by
            default use all of the columns
        keep : {'first', 'last', False}, default 'first'
            - ``first`` : Drop duplicates except for the first occurrence.
            - ``last`` : Drop duplicates except for the last occurrence.
            - False : Drop all duplicates.
        inplace : boolean, default False
            Whether to drop duplicates in place or to return a copy

    Returns:
        deduplicated : DataFrame
    """
    inplace = validate_bool_kwarg(inplace, "inplace")
    if kwargs.get("subset", None) is not None:
        duplicates = self.duplicated(keep=keep, subset=kwargs.get("subset"))
    else:
        duplicates = self.duplicated(keep=keep)
    indices = duplicates.values.nonzero()[0]
    return self.drop(index=self.index[indices], inplace=inplace)


# Traceback (AttributeError)
2020-02-27 10:22:13,644 INFO resource_spec.py:216 -- Starting Ray with 200.0 GiB memory available for workers and up to 200.0 GiB for objects. You can adjust these settings with ray.init(memory=<bytes>, object_store_memory=<bytes>).
2020-02-27 10:22:13,899 WARNING services.py:1365 -- WARNING: object_store_memory is not verified when plasma_directory is set.
UserWarning: Distributing <class 'list'> object. This may take some time.
name  max_speed  health
1    one          1      10
2    two          4      20
3  three          7      30
Traceback (most recent call last):
File "drop_duplicates_test.py", line 13, in <module>
df1 = df.drop_duplicates("name")
File "/nfs/site/proj/scripting_tools/gashiman/modin/modin/pandas/dataframe.py", line 208, in drop_duplicates
subset=subset, keep=keep, inplace=inplace
File "/nfs/site/proj/scripting_tools/gashiman/modin/modin/pandas/base.py", line 1120, in drop_duplicates
duplicates = self.duplicated(keep=keep, subset=kwargs.get("subset"))
File "/nfs/site/proj/scripting_tools/gashiman/modin/modin/pandas/dataframe.py", line 242, in duplicated
if len(df.columns) > 1:
File "/nfs/site/proj/scripting_tools/gashiman/modin/modin/pandas/series.py", line 227, in __getattr__
raise e
File "/nfs/site/proj/scripting_tools/gashiman/modin/modin/pandas/series.py", line 223, in __getattr__
return object.__getattribute__(self, key)
AttributeError: 'Series' object has no attribute 'columns'

# Fixed code
def drop_duplicates(self, keep="first", inplace=False, **kwargs):
    """Return DataFrame with duplicate rows removed, optionally only considering certain columns

    Args:
        subset : column label or sequence of labels, optional
            Only consider certain columns for identifying duplicates, by
            default use all of the columns
        keep : {'first', 'last', False}, default 'first'
            - ``first`` : Drop duplicates except for the first occurrence.
            - ``last`` : Drop duplicates except for the last occurrence.
            - False : Drop all duplicates.
        inplace : boolean, default False
            Whether to drop duplicates in place or to return a copy

    Returns:
        deduplicated : DataFrame
    """
    inplace = validate_bool_kwarg(inplace, "inplace")
    subset = kwargs.get("subset", None)
    if subset is not None:
        if is_list_like(subset):
            if not isinstance(subset, list):
                subset = list(subset)
        else:
            subset = [subset]
        duplicates = self.duplicated(keep=keep, subset=subset)
    else:
        duplicates = self.duplicated(keep=keep)
    indices = duplicates.values.nonzero()[0]
    return self.drop(index=self.index[indices], inplace=inplace)