【numpy】viewとcopy
配列のview
とは、もとの配列と同じデータを指している。
一方、copy
は、もとの配列と同じデータのコピーを指している。
つまり、配列a
のview
であるv
が存在するとして、v
の要素を書き換えるとa
の値も同時に書き換わる。
しかし、a
のcopy
であるc
の要素を書き換えてもa
の値は影響を受けない。
例えば、
続きを読むNumPyから最高のパフォーマンスを得る方法
2018/12/27 追記
この記事はかなり昔の情報が混じっている可能性があります。 元の記事にもいくつか修正が入っているようですが、この翻訳記事では特に修正を実施していません。ご注意ください。 正確な情報は元記事を参照してください。
記事
この記事の和訳です。
色々間違っている可能性があるのでご注意ください。
NumPyはPythonの科学計算ソフトフェア群の基礎となるものです。
NumPyはndarray
というベクトル計算に最適化された特別なデータ構造を提供します。
このオブジェクトは、科学数値計算の中の多くのアルゴリズムの核となっています。
特に計算がひとつの命令で多くのデータを操作する (SIMD) パラダイムに沿っている時、Numpy array (配列)を使うことでネイティブなPythonよりもかなりのパフォーマンスの高速化が達成できます。 しかし、最適化されていないNumPyのコードを何気なく書いてしまうこともありえます。
この記事では、あなたが最適化されたNumPyのコードを書くことを助けるいくつかのトリックを紹介します。 時間とメモリを節約するために、不必要な配列のコピーを避ける方法から見ていきましょう。 そのために、NumPyの内部に分け入る必要があるでしょう。
続きを読む【Python】 progressbar
進捗を示すためにshell上にプログレスバーを表示したいことがよくあります.
50% (200 of 400) |############ |
こんなやつです.
Pythonでも,重い処理をforループで回すときに欲しくなります. 当然同じことを考える人がいるので,すでにパッケージがあります.
「python progressbar」で検索して一番上に出てくるパッケージ(progressbar)はpython3に対応してない上,開発がだいぶ前に止まっているので,今回は別のパッケージ(progressbar2)を使います.
続きを読む