[解決済み】NaNで埋め尽くされたnumpyの行列を作成する
2022-04-03 13:24:22
質問
次のようなコードがあります。
r = numpy.zeros(shape = (width, height, 9))
を作成します。
width x height x 9
行列がゼロで埋め尽くされます。その代わりに、初期化する関数や方法があれば知りたいです。
NaN
を簡単な方法で作成します。
どのように解決するのですか?
numpyのベクトル演算でループが必要になることはほとんどありません。 初期化されていない配列を作成し、一度にすべてのエントリに代入することができます。
>>> a = numpy.empty((3,3,))
>>> a[:] = numpy.nan
>>> a
array([[ NaN, NaN, NaN],
[ NaN, NaN, NaN],
[ NaN, NaN, NaN]])
オルタナティヴのタイミングを計りました
a[:] = numpy.nan
こちらと
a.fill(numpy.nan)
Blaenkさんが投稿された通りです。
$ python -mtimeit "import numpy as np; a = np.empty((100,100));" "a.fill(np.nan)"
10000 loops, best of 3: 54.3 usec per loop
$ python -mtimeit "import numpy as np; a = np.empty((100,100));" "a[:] = np.nan"
10000 loops, best of 3: 88.8 usec per loop
このタイミングでは
ndarray.fill(..)
の方が高速です。一方、numpyの便利な実装は、スライス全体に一度に値を割り当てることができ、コードの意図が非常に明確で気に入っています。
なお
ndarray.fill
はその操作をインプレースで行うので
numpy.empty((3,3,)).fill(numpy.nan)
は、代わりに
None
.
関連
-
pyCaret効率化乗算器 オープンソース ローコード Python機械学習ツール
-
[解決済み】 'numpy.float64' オブジェクトは反復可能ではない
-
[解決済み] pipでPythonの全パッケージをアップグレードする方法
-
[解決済み] 複数行の長い文字列を作成するためのPythonicな方法
-
[解決済み] リスト内包型辞書の作成
-
[解決済み] 空のPandas DataFrameを作成し、それを埋める?
-
[解決済み] NumPyでユークリッド距離はどのように計算できますか?
-
[解決済み] Pythonの文字列をスペースで埋めるにはどうしたらいいですか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】リストの文字列表現をリストに変換する方法は?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
パッケージングツールPyinstallerの使用と落とし穴の回避
-
pyCaret効率化乗算器 オープンソース ローコード Python機械学習ツール
-
Python入門 openを使ったファイルの読み書きの方法
-
[解決済み】numpyの配列連結。"ValueError:すべての入力配列は同じ次元数でなければならない"
-
[解決済み】OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません。
-
[解決済み】終了コード -1073741515 (0xC0000135)でプロセス終了)
-
[解決済み】「SyntaxError.Syntax」は何ですか?Missing parentheses in call to 'print'」はPythonでどういう意味ですか?
-
[解決済み] 'DataFrame' オブジェクトに 'sort' 属性がない
-
[解決済み】Python elifの構文が無効です【終了しました
-
[解決済み】Flaskのテンプレートが見つからない【重複あり