4-6.まとめ
Numpyが早い理由
- Numpyは元から配列の型(int,float)が決まっているため,要素における型の認識に時間がかからない
- ブロードキャスティングによる配列内部の一括処理が可能であり,行列計算を行うための配列の拡張を自動でC言語を通して行ってくれる
- 他にも,そもそもNumpyがC言語で書かれていることや関数の記述に無駄がないetc.
ファイルの入出力
- Numpyでは,np.loadtxtとnp.savetxtでファイルの入出力が可能
- Python-nativeでもwithブロックやf=open()などでテキストファイルの入出力が可能
- 標準装備のos.モジュールを使うことで,ファイルの入出力先であるカレントディレクトリの変更やディレクトリの新規作成などが出来る
- シミュレーション時のパラメータなどを文字列にしてファイル名に入れることで生成したフォルダやファイルの管理を容易に出来る
- datetimeモジュールを活用することでシミュレーションの実行時間をディレクトリ名に入れることも出来る
Numpyの関数は沢山
スライスの活用
- N行M列の配列Aにおけるスライスの基本構造はA [始点:終点,始点:終点]
- np.sortなどの整理系numpy関数を活用することでTopNやWorstNの抜き出しが可能に
- スライスを理解すれば行や列だけを飛び地でスライスすることも可能に
- 既存の配列の一部に他の配列の一部を置き換えることも可能
- スライスはfor文を使わないため,処理が非常に早い