PythonでRuntimeWarning: invalid value encountered in double_scalars問題を解決する方法
2022-01-21 23:53:35
クラス Pearson を計算するコードを書くにあたって 相関係数 を計算する際に、以下のような警告が表示されました。
RuntimeWarning: double_scalars で無効な値に遭遇しました。
該当するコードスニペットは以下の通りです。(上記のプロンプトは、以下のステートメントの実行中に表示されます)
id_col=(t_fa*id_part).sum()/(item_squre_rating[id]*item_squre_rating[col])
まずは、以下の点を確認してみましょう。
- これは警告であって、エラーではありません。だから、実行時に表示されても、コードは問題なく動作する。しかし同時に、これはエラーではないので、try-exceptを使用しても捕捉されません。
- このヒントは通常0/0で発生しますが、分母が0の場合はZeroDivisionError(0÷例外)が発生しないことも意外と知られていないようです。
- 解決方法 if-else ステートメントを使用して、分母が 0 になったときに id_col を再割り当てするように判断します。
ここでは、ZeroDivisionError例外とRuntimeWarning警告の違いと、どのような状況でこの2種類のヒントが発生するのかを簡単に説明します。
- ZeroDivisionError例外は、分母0が組み込みのデータ型である場合に発生します。
- 分母0がnumpyのデータ型である場合、RuntimeWarningの警告をトリガーします。
- 組み込みデータ型がnumpyデータ型で計算される場合、計算結果はnumpyで計算された型になります。
私のコードのRuntimeWarningヒントは、計算の分子部分がnumpy.float64型だからで、分子部分もnumpy.float64に変更すれば、0で割ったときにエラーにならないはずです。
関連
-
[解決済み】torch.stack()とtorch.cat()関数の違いとは?
-
python draw bar chart error ValueError: shape mismatch: Objects cannot be broadcast to the single shape causes and solutions
-
Pythonでメール配信を自動化する方法
-
[解決済み] オフセットロールフォワードと月オフセット追加後のパンダの境界外ナノ秒のタイムスタンプ
-
[解決済み] Python3 で ** や pow() でサポートされていないオペランド型: 'str' と 'int' [重複].
-
[解決済み] Djangoのモデルでパスワードフィールドを作成する方法
-
[解決済み] scipy.miscモジュールにimread属性がない?
-
[解決済み] 文字列の先頭と末尾のゼロを削除するには?Python
-
[解決済み] 変数ret_valの使用はいつがよいのでしょうか?
-
Python3 ランタイムエラー TypeError: bytes 型のオブジェクトは JSON シリアライズ可能ではありません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】TypeError:'type'オブジェクトはiterableではありません - オブジェクトインスタンスを繰り返し処理する。
-
[解決済み】sqlite3.ProgrammingError: 指定されたバインディングの数が正しくありません。現在の文は 1 を使用しており、74 が供給されています。
-
[解決済み] [Solved] 'list'オブジェクトに'items'属性がないのはなぜですか?
-
[解決済み] NoBrokersAvailableです。NoBrokersAvailable-Kafkaエラー
-
[解決済み] Python AttributeError: 'module' オブジェクトに 'Serial' 属性がない [重複] 。
-
[解決済み] flask TypeError: 'ImmutableMultiDict' オブジェクトは呼び出し可能ではありません。
-
[解決済み] TypeError: 文字バッファオブジェクトを期待した - 整数をテキストファイルに保存しようとしている時
-
[解決済み] pythonで指定された月の日数を決定する方法 [重複]。
-
[解決済み] setattr__ の正しい使い方、無限再帰を回避する方法
-
UnicodeDecodeError: 'ascii' コーデックは、位置 7 のバイト 0xd0 をデコードできません: ordi