Как я могу исправить настройки с копированием предупреждений? - PullRequest
0 голосов
/ 31 марта 2020

Я прочитал .csv в dask dataframe. После прочтения, когда я делаю кодирование меток, как показано ниже

df = dd.concat([df_train,df_test])

categorical_cols = ['SAT_CD','SEG_OD','CBN']

def encode(df):
    categorical_cols = ['SAT_CD','SEG_OD','CBN']
    le = preprocessing.LabelEncoder()
    for i in categorical_cols:
        df[i] = df[i].astype('category')
        le.fit(df[i])
        df[i] = le.transform(df[i])
    return df

df[categorical_cols] = df[categorical_cols].map_partitions(encode, meta={'SAT_CD':'i8','SEG_OD':'i8','CBN':'i8'})

, я получаю

См. Предостережения в документации: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning -a-view-versus- a-copy main : 7: SettingWithCopyWarning: пытается установить значение для копии фрагмента из DataFrame. Попробуйте использовать .loc [row_indexer, col_indexer] = значение вместо

Как я могу это исправить? Я делаю что-то не так?

Я попробовал следующее,

df[[categorical_cols]] = df[categorical_cols].map_partitions(encode, meta={'SAT_CD':'i8','SEG_OD':'i8','CBN':'i8'})

df.loc[:, categorical_cols] = df[categorical_cols].map_partitions(encode, meta={'SAT_CD':'i8','SEG_OD':'i8','CBN':'i8'})

Error: TypeError: '_LocIndexer' object does not support item assignment
...