web-dev-qa-db-fra.com

Supprimer A python AVERTISSEMENT

Bien que je ise itérer dans A pour boucle, je reçois continuellement le même avertissement que je veux supprimer. L'avertissement se lit comme suit:

C:\Users\Nick Alexander\AppData\Local\Programs\Python\Python37\lib\site-packages\sklearn\preprocessing\data.py:193: UserWarning: Numerical issues were encountered when scaling the data and might not be solved. The standard deviation of the data is probably very close to 0. warnings.warn("Numerical issues were encountered "

Le code qui produit l'avertissement est le suivant:

def monthly_standardize(cols, df_train, df_train_grouped, df_val, df_val_grouped, df_test, df_test_grouped):
    # Disable the SettingWithCopyWarning warning
    pd.options.mode.chained_assignment = None
    for c in cols:
        df_train[c] = df_train_grouped[c].transform(lambda x: scale(x.astype(float)))
        df_val[c] = df_val_grouped[c].transform(lambda x: scale(x.astype(float)))
        df_test[c] = df_test_grouped[c].transform(lambda x: scale(x.astype(float)))
    return df_train, df_val, df_test

Je désactive déjà un avertissement. Je ne veux pas désactiver tous les avertissements, je veux juste désactiver cet avertissement. J'utilise python 3.7 et Sklearn version 0.0

5
njalex22

Essayez ceci au début du script:

import warnings
warnings.filterwarnings("ignore", message="Numerical issues were encountered ")
4
DirtyBit

Le python contextLib a un contexte de contexte pour cela: Supprimer

from contextlib import suppress

with suppress(UserWarning):
    for c in cols:
        df_train[c] = df_train_grouped[c].transform(lambda x: scale(x.astype(float)))
        df_val[c] = df_val_grouped[c].transform(lambda x: scale(x.astype(float)))
0
handras