web-dev-qa-db-ja.com

python警告)を抑制します

私はforループ内で繰り返しますが、私は絶えず同じ警告を受け取ります。警告は次のとおりです。

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 " _

警告を作成しているコードは次のとおりです。

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
 _

私はすでに1つの警告を無効にしています。私はすべての警告を無効にしたくない、この警告を無効にしたいだけです。私は使用していますpython 3.7とSklearnバージョン0.0)

5
njalex22

スクリプトの先頭でこれを試してください。

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

python ContextLibには、このためのContextMamagerがあります. suppress

_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