Установка с ошибкой копирования при определении функции очистки данных

Я пытаюсь сделать предварительную модель очистки данных для набора данных, но выдает предупреждение "Настройка с ошибкой копирования". Я читал, что цепочечное присваивание дает такую ​​ошибку, и использование.loc может решить проблему, но я борюсь с этим.

В фрагменте кода ниже. Ошибка генерируется в цикле for. Пожалуйста, помогите мне решить эту проблему

def clean_data(df):
    df.drop_duplicates()
    df['base'] = df.base.fillna(0)
    ....
    ....
    df = df[df.size <= 50000]
    for column in df.dtypes[df.dtypes == object].index:
         df[column] = df[column].fillna('Missing')        # warning from this line
    return df

raw_df = pd.read_csv('estate_data.csv')
cleaned_data = clean_data(raw_data)

Чтобы узнать, какая строка генерирует предупреждение, я установил

pd.set_option ("mode.chained_assignment", "повысить")

Ошибка генерируется в теле цикла for.

Я знаю, что такого рода ошибки генерируются пандами, когда неясно, изменяется ли представление или копия кадра данных.

Как решить эту проблему??

Это отличается от предложенного дублирующего вопроса, потому что я хочу изменить исходный фрейм данных, а не делать копию (). Также я уже попробовал предлагаемое решение использования.loc, но это все равно не помогает.

0 ответов

Другие вопросы по тегам