keisukeのブログ

***乱雑です!自分用のメモです!*** 統計や機械学習の勉強と、読み物を書く練習と、備忘録用のブログ

【numpy】viewとcopy

配列のviewとは、もとの配列と同じデータを指している。 一方、copyは、もとの配列と同じデータのコピーを指している。

つまり、配列aviewであるvが存在するとして、vの要素を書き換えるとaの値も同時に書き換わる。 しかし、acopyであるcの要素を書き換えてもaの値は影響を受けない。

例えば、

続きを読む

NumPyから最高のパフォーマンスを得る方法

この記事の和訳です。
色々間違っている可能性があるのでご注意ください。


NumPyPythonの科学計算ソフトフェア群の基礎となるものです。 NumPyはndarrayというベクトル計算に最適化された特別なデータ構造を提供します。 このオブジェクトは、科学数値計算の中の多くのアルゴリズムの核となっています。

特に計算がひとつの命令で多くのデータを操作する (SIMD) パラダイムに沿っている時、Numpy array (配列)を使うことでネイティブなPythonよりもかなりのパフォーマンスの高速化が達成できます。 しかし、最適化されていないNumPyのコードを何気なく書いてしまうこともありえます。

この記事では、あなたが最適化されたNumPyのコードを書くことを助けるいくつかのトリックを紹介します。 時間とメモリを節約するために、不必要な配列のコピーを避ける方法から見ていきましょう。 そのために、NumPyの内部に分け入る必要があるでしょう。

続きを読む

scipy.stats - scipyの統計関数群のAPI

scipyにはstatsという統計関数をまとめたモジュールがあります. statsにはいろいろな統計関数が用意されていますが,APIは統一されていますので,それについてちょっとまとめてみます.

続きを読む

【matplotlib】日本語の設定

Matplotlibで日本語を出力するのにかなり手間取ったのでメモ。 Windows, Python3を想定しています。

続きを読む

Markdown test - LaTeX, footnote

$$ abc $$

inline tex is $ y \sim \text{N}(\mu, \sigma) $ ok?

inline tex is  y \sim \text{N}(\mu, \sigma) ok?

inline tex is (y \sim \text{N}(\mu, \sigma) ) ok?


abc


\begin{align}
abc
\end{align}

{ \displaystyle
b_n = \sum_{m=0}^{N-1} a_m
}

$$ e^{i\pi} = -1 $$


e^{i\pi} = -1


\begin{align}
e^{i\pi} = -1
\end{align}

broken footnote sample^1

【Python】 progressbar

進捗を示すためにshell上にプログレスバーを表示したいことがよくあります.

50% (200 of 400) |############            |

こんなやつです.

Pythonでも,重い処理をforループで回すときに欲しくなります. 当然同じことを考える人がいるので,すでにパッケージがあります.

python progressbar」で検索して一番上に出てくるパッケージ(progressbar)はpython3に対応してない上,開発がだいぶ前に止まっているので,今回は別のパッケージ(progressbar2)を使います.

続きを読む

WindowsでanacondaのEnvironment管理をする

参考:How to activate an Anaconda environment - Stack Overflow

何をしたいの?

AnacondaのEnvironment管理に関する公式のドキュメントが、特にWindows環境においてはあまり充実しているとはいえないので、調べた結果を(自分用のメモも兼ねて)和訳して残したいです。 MacOS/Linux系のドキュメントは充分豊富にある上に、Windowsで頻発しがちな問題も起こらないので、Windows環境での設定について書きます。

続きを読む