[解決済み] ValueErrorです。複数の要素を持つ配列の真偽値は曖昧である。a.any()またはa.all()を使用する。
質問
私のコードに論理的なバグが見つかり、様々な問題を引き起こしていました。私はうっかりして ビット単位のAND の代わりに 論理AND .
からコードを変更しました。
r = mlab.csv2rec(datafile, delimiter=',', names=COL_HEADERS)
mask = ((r["dt"] >= startdate) & (r["dt"] <= enddate))
selected = r[mask]
TO
r = mlab.csv2rec(datafile, delimiter=',', names=COL_HEADERS)
mask = ((r["dt"] >= startdate) and (r["dt"] <= enddate))
selected = r[mask]
驚いたことに、かなり不可解なエラーメッセージが表示されたのです。
ValueErrorです。複数の要素を持つ配列の真偽値は 曖昧です。a.any()またはa.all()を使用します。
ビット演算を使っても同様のエラーが発生しないのはなぜですか?
解決方法は?
r
はnumpyの(rec)配列です。そのため
r["dt"] >= startdate
も(ブーリアン)である。
の配列です。numpyの配列の場合
&
演算は、2つの要素-アンドを返します。
ブーリアン配列です。
NumPyの開発者は、一般的に理解されている評価方法がないと感じていました。
を意味します。
True
もし
いずれか
要素が
True
を意味することもあれば
True
もし
すべて
要素が
True
または
True
配列の長さが0でない場合、3つの可能性があります。
ユーザーによってニーズや前提条件が異なる可能性があるため
NumPyの開発者は、推測することを拒否し、代わりにValueErrorを発生させることにしました。
配列を評価しようとすると、必ずブーリアンコンテキストで評価されます。適用方法
and
に
2つのnumpy配列は、2つの配列がブーリアンコンテキストで評価されるようになります。
呼び出し
__bool__
Python3では
__nonzero__
Python2の場合)。
あなたのオリジナルコード
mask = ((r["dt"] >= startdate) & (r["dt"] <= enddate))
selected = r[mask]
は正しく見えます。しかし、もし
and
の代わりに
a and b
使用
(a-b).any()
または
(a-b).all()
.
関連
-
Python 人工知能 人間学習 描画 機械学習モデル作成
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
Pythonを使って簡単なzipファイルの解凍パスワードを手作業で解く
-
Evidentlyを用いたPythonデータマイニングによる機械学習モデルダッシュボードの作成
-
パッケージングツールPyinstallerの使用と落とし穴の回避
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み】Pythonスクリプトで「Expected 2D array, got 1D array instead: 」というエラーが発生?
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み] シリーズの真偽値が曖昧である。a.empty, a.bool(), a.item(), a.any(), a.all() のいずれかを使用します。
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
PythonによるLeNetネットワークモデルの学習と予測
-
python call matlab メソッドの詳細
-
Pythonによるjieba分割ライブラリ
-
python implement mysql add delete check change サンプルコード
-
Python interpreted model libraryによる機械学習モデル出力の可視化 Shap
-
Python 入出力と高次代入の基礎知識
-
[解決済み] _tkinter.TclError: 表示名がなく、$DISPLAY環境変数もない。
-
[解決済み】TypeErrorの修正方法。Unicodeオブジェクトは、ハッシュ化する前にエンコードする必要がある?
-
[解決済み】 NameError: グローバル名 'xrange' は Python 3 で定義されていません。
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない