「NumPy」は、多次元配列を扱う数値演算ライブラリです。
NumPyは、Pythonと組み合わせて使うことで、
数値計算などを、ラクに、高速で実行できます。
NumPyは、データ分析や機械学習、人工知能だけでなく、
画像処理や音声認識、自然言語処理など至る所で使われています。
統計解析やデータサイエンスをやってみたい!
といった方も、
自分のPCで効率よく処理するには、NumPyを使いこなすことが必須とも言えます。
また、Pythonだけでプログラムを書くと多くの行が必要になるものも、
- NumPyを使えば、ほんの数行で書けてしまう
といったこともあります。
なので、NumPyを活用できれば、
- コードを少なく
- 計算時間も短縮できる
わけです。
しかし複雑な処理を数行で書けてしまう反面、
NumPyのルールを理解していないと、
NumPy のコードを普通に読んだだけでは何をやってるのかわからない
となってしまいます。
NumPyの恩恵を受けるには、
NumPyのルールを学ぶことが必要となります。
NumPyのルールを学ぶと、自分が使うだけでなく、さらに良いメリットがあります。
インターネット上のデータサイエンスや機械学習などのサンプルコードでは、
多くのものがNumPyを使って書かれています。
NumPyを理解すれば、
- すでに公開されている優れたサンプルコードを読み解き、そこから学ぶ力を得れるようになる
という将来の学びを大きく加速できるメリットがあります。
そこで本記事では、
- NumPy とは?
- NumPyの使い方って?
- NumPyを学ぶためのおすすめの本はないの?
といったNumPy初心者の方向けにおすすめの本をご紹介します。
本記事の概要
Python で NumPy に入門し、使い方を学びたいあなたにおすすめの本はこちらです
NumPyの解説本には、おおまかに2パターンあります。
- NumPyの解説を中心にしたもの
- データサイエンス・機械学習・科学技術計算などへの活用のためのNumPyとしての解説
となっています。
1番目の場合は、NumPyの文法を細かく学べるメリットがあります。
それに対して、2番目の場合は、NumPyはサクッと解説されている場合が多いです。
NumPyをこんなことに使いたい!
という応用先が決まっている方は、
2つ目のパターンの本を使い、応用先の解説本の中でNumPyを学ぶと効率的です。
というわけで、ここからは、
まず(1) NumPyの解説中心の本 を紹介した後で、
(2), 応用先別(データ分析、機械学習、科学技術計算)ごとに、おすすめのNumPy解説本 をご紹介します。
1冊目はこちら【NumPyの基礎から理解でき、データサイエンスへの応用が身につくおすすめ本です】
現場で使える! NumPyデータ処理入門 機械学習・データサイエンスで役立つ高速処理手法 (AI & TECHNOLOGY)
本書は、NumPyを基本から入門して使い方を学べます。
しかしそれだけでなく、NumPyを使う際に、
- こういう操作をしたい時はこうする
のようにリファレンスのように使える便利な1冊です。
内容としては、NumPyの開発環境の準備から、丁寧に説明があり、初心者の方も最初の1歩でつまづかないように配慮されています。
次にNumPyの基本事項が学んだ後で、配列の操作方法を理解させてくれます。
それらの知識をもとに、数学関数についてNumPyで扱う方法を学んでいきます。
最後に以上の知識を総合的に応用する例として、NumPyを使って
- ニューラルネットワーク
- 強化学習
を実装でき、理解度の確認や達成感も得れる1冊となっています。
加えて、似たメソッド同士を比較検討してくれているので、
一度NumPyを学んだ方も、知っている知識を整理して体系的に理解しなおすことができ、
NumPy経験者の頭の整理にもなるおすすめの1冊となっています。
こちらもございます↓
2冊目はこちら【NumPyを、データ分析の文脈から学びたいあなたにおすすめの本はこちら】
Pythonによるデータ分析入門 第2版 ―NumPy、pandasを使ったデータ処理
本書は、Python Pandas(パンダス)の作者が執筆したデータ分析の外観を理解できる解説本です。
Pandasは、エクセルのような表形式データを扱え、データ分析で特に役立つライブラリの1つです。
データ分析で必要となるデータの前処理、データ操作などをラクに行えます。
Pandasは、NumPyをベースに作られているので、Pandasの理解には、NumPyの知識が必要となります。
そこで本書にはNumPyについて、
- 多次元配列オブジェクト「ndarray」
- 複数配列の要素レベルの計算
- 配列間の数学的演算
- 配列ベースのデータを読み書きする方法
- 線形代数演算、フーリエ変換、乱数の生成
など、NumPyの高度な配列処理能力を活かした使い方の紹介があります。
加えて、NumPyには、アルゴリズム間のデータの仲介役としての役割があります。
また、例えばC言語からNumPyに格納されたデータを操作することができるように、
NumPyには他言語(C言語、C++、Fortranなど)からのデータの操作を可能にする機能があります。
本書は、データ分析やデータサイエンスをやっていきたい方にオススメのNumPyの使い方を幅広く学べる1冊となっています。
こちらもございます↓
3冊目はこちら【NumPyを、機械学習の文脈から学びたいあなたにおすすめの本はこちら】
機械学習のエッセンス -実装しながら学ぶPython,数学,アルゴリズム- (Machine Learning)
本書は、機械学習の実装を学ぶだけでなく、ライブラリの中身を理解できる力をつけるための1冊です。
そのために必要となる周辺知識
- 数学
- Python
- 数値計算
- 可視化
などについても、初心者にとって必要十分に解説があります。
機械学習のゼロから実装したり、自分でアルゴリズムの開発を行う第一歩に最適の1冊となっています。
NumPyについては、Python での数値計算の部分で解説があります。
NumPyによる数学関数、配列、2次元配列、配列データ属性、reshapeメソッド、形状の変更、行列の連結などの基本操作が解説された後、
NumPyを使った、配列の計算方法が説明されています。
機械学習に関係してくる演算
- 「ブロードキャスト」(演算時に配列の次元数や形状を自動的に調節する機能)や、
- 「配列の演算」(配列同士の演算、行列の積、2次元配列と1次元配列の演算)
などについて、特に焦点が当てられて解説されています。
NumPyの活用だけでなく、機械学習をゼロからライブラリの内部まで理解できる力を養う基礎となるおすすめの本となっています。
機械学習のしくみについては、こちらもございます↓
4冊目はこちら【NumPyを、科学技術計算の文脈から学びたいあなたにおすすめの本はこちら】
科学技術計算のためのPython入門 ――開発基礎、必須ライブラリ、高速化
本書は、タイトルの通りに、Pythonを科学技術計算に活かしたい方向けの必須テクニックがまとめられた1冊です。
科学技術計算でも様々な演算を高速で行う必要があり、NumPyの活用が必須です。
NumPy自体の解説というより、Pythonも基礎から学べ、
科学技術計算という枠組みの中で、NumPyの使い方を学べる1冊となっています。
詳しくはこちらにもございます↓
『Pythonの基本文法から実践テクニックまでサクッと学びたいあなたはこちらをどうぞ【科学技術計算のためのPython入門】』
こちらもございます↓
というわけで、本記事では、
- NumPy とは?
- NumPyの使い方って?
- NumPyを学ぶためのおすすめの本はないの?
といったNumPy初心者の方向けにおすすめの本をご紹介しました。
こちらもございます↓
こちらもございます↓
↓こちら無料で読めます