こんにちは、ぼりたそです!
今回は、新しく出版したNumPyの入門書をご紹介します。
この度、Kindle書籍『機械学習・データ分析のためのNumPy入門 ― 配列操作と数値計算の基本をPythonで学ぶ ―』を出版しました!
本書は、Pythonの基本文法を学んだ方が、NumPyによる配列操作と数値計算を、解説と演習を通して身につけるための入門書です。
Kindle版の価格は1,180円で、Kindle Unlimitedの対象書籍です。会員の方は追加料金なしで読むことができます。
▼書籍はこちら
Pythonの基本文法を学んだあと、
「次はデータ分析をしてみたいけど、何から勉強すればよいのだろう?」
「NumPyのコードはよく見かけるけど、配列の形やaxisがよくわからない」
と感じている方もいるのではないでしょうか。
本書では、そうした方が小さな配列から練習を始め、必要なデータを取り出したり、計算・集計したりできるようになることを目指しています。
この記事では、以下のポイントをご紹介します。
- なぜこの本を書いたのか
- どんな方におすすめなのか
- 本書にはどのような特徴があるのか
- どんな内容を学べるのか
- 学習を終えたときに何ができるようになることを目指すのか
それでは、順番にご紹介していきます!
なぜこの本を書いたのか?
Pythonの学習では、変数やリスト、if文、for文、関数などの基本文法を学びます。
ところが、データ分析や機械学習のコードを読んでみると、今度はNumPyの配列や、それを使った計算が登場します。
「リストと配列は何が違うの?」
「axis=0とaxis=1で、なぜ計算結果が変わるの?」
「同じように見えるコードなのに、配列の形を変えるとエラーになるのはなぜ?」
このように、Pythonの文法を知っていても、配列の扱い方で戸惑うことがあります。
例えば、複数人の得点を科目ごとに並べたデータでは、「一人ずつの合計点」を求める場合と、「科目ごとの平均点」を求める場合で、集計する方向が変わります。
どちらも合計や平均を計算する操作ですが、目的に合った結果を得るには、データがどのように並んでいるかを理解しておく必要があります。
そこで、Pythonの基本文法を学んだ方が、数値データを自分で扱えるようになるための一冊として、本書をまとめました。
関数の使い方とデータの構造を結びつけながら、機械学習・データ分析に進むための土台を固めていただければと思っています。
こんな方におすすめです
本書は、特に次のような方に向けて書いています。
- Pythonの基本文法を学び、次にNumPyを使ってみたい方
- データ分析や機械学習に向けて、配列操作の基礎を身につけたい方
- shapeやaxis、ブロードキャストを整理して理解したい方
- サンプルコードの処理内容を説明できるようになりたい方
- 解説を読むだけでなく、演習を通して練習したい方
変数、リスト、条件分岐、繰り返し、関数など、Pythonの基本文法を一通り学んだ方を想定しています。NumPyを使った経験は必要ありません。
題材には得点や売上などの身近な数値データを使っているため、化学などの特定分野の専門知識も必要ありません。
また、以前出版した『Python 文法演習100問』で基本文法を練習した方には、学んだ知識をデータ処理に活かす次の一冊として取り組んでいただけます。他の書籍や教材でPythonを学んだ方も、そのまま読み進められる内容です。
本書の特徴

① 解説・コード例・演習を通して学べる
本書では、各節で「何ができるようになるか」を確認してから、仕組みや書き方を解説しています。
その後、短いコード例と実行結果を確認し、演習問題に取り組む構成です。解答例には、処理のポイントを説明する解説も付けています。
コードを読むときは、ぜひ実行する前に結果を予想してみてください。実際の結果と比べることで、どこまで理解できているかがわかります。
さらに、例の数値や条件を少し変えて試してみると、同じ書き方を別のデータにも使う練習になります。
② 形状・axis・ブロードキャストを丁寧に扱う
NumPyを使ううえで、特に大切にしているのが、配列の形状、axis、ブロードキャストです。
配列の形状は、データが各方向にいくつ並んでいるかを表します。axisは、集計などの操作で対象となる軸を指定するときに使います。ブロードキャストは、一定のルールに従って、形状が異なる配列どうしを計算できる仕組みです。
本書では、これらを具体的な配列や図解と対応させながら学びます。
「計算前の配列はどのような形か」「どの値を処理するか」「結果はどのような形になるか」を確認することで、コードが行っている処理を追えるようにしています。
③ データ分析につながる基本操作を練習できる
配列を作成するところから始め、条件に合うデータの抽出や集計、並べ替え、欠損値の扱い、標準化などへ進みます。
例えば、必要な行を選んでから項目ごとの平均を求めたり、平均と標準偏差を使って数値を変換したりする操作です。
第8章の総合演習では、それまでに学んだ操作を組み合わせて、一連のデータ処理に取り組みます。
本書で扱うのは、機械学習・データ分析で必要になる数値データの基本操作です。本格的な線形代数や高度な統計処理、機械学習モデルの構築は本編の対象に含めていません。
④ 基本操作とエラーを付録で確認できる
学習中に書き方を忘れたり、エラーの原因がわからなくなったりしたときのために、基本操作・エラー早見表を用意しています。
配列の作成や取り出し、集計、形状変更などの操作に加えて、shapeとaxisの対応やブロードキャストの形状も確認できます。
また、エラーや警告への対処だけでなく、エラーが出なくても意図した処理になっているかを確認するポイントも整理しています。
「動いたから大丈夫」で終わらず、結果の値や形状まで確かめながら学習を進めていただければと思います。
本書で扱っている内容

本書は、全8章に「はじめに」「付録」「おわりに」を加えた構成です。
第1章 NumPyと配列の基本
NumPyの役割と、基本となる配列について学びます。Pythonのリストとの違いを確認しながら、1次元・2次元配列、次元数、形状、要素数、データ型の見方を整理します。
第2章 配列の作成とデータの取り出し
規則的な数値が並ぶ配列や、同じ値で埋めた配列を作成します。インデックス・スライスによる取り出し、要素の変更、コピーとビューの違いも扱います。
第3章 配列を使った計算と条件抽出
配列の要素をまとめて計算し、条件に合うデータを取り出す方法を学びます。複数条件の組み合わせや、条件に応じた値の置き換えにも取り組みます。
第4章 集計とaxisの理解
合計、平均、最小値・最大値、標準偏差などを求めます。axisによって集計の対象がどう変わるかを確認し、最大値・最小値の位置や、条件を満たす件数も調べます。
第5章 配列の形状変更と組み合わせ
reshapeや転置、1次元化、長さ1の軸の追加を学びます。さらに、配列を行・列方向につなぐ操作や、分割する操作を練習します。
第6章 ブロードキャストの仕組み
形状が異なる配列を計算できる条件を確認します。列ごと・行ごとに異なる値を使う計算や、集計結果の軸を残す方法を通して、形状の対応を理解します。
第7章 データ分析に使う基本操作
並べ替え、重複のない値と件数の確認、欠損値の扱い、乱数、標準化を学びます。前の章で扱った配列操作や計算を、データ分析に役立つ処理へつなげます。
第8章 総合演習
ここまでに学んだ操作を組み合わせて、データ処理に取り組みます。処理する対象や集計の単位を整理し、結果を確認するところまで練習します。
付録 基本操作・エラー早見表
よく使う操作や代表的なエラー・警告をまとめています。学習中の確認や、読み終えた後の振り返りにも使える内容です。
本書を学び終えたときの目標
本書を通して、次のようなことができる状態を目指します。
- 配列の形状やデータ型を確認し、データの構造を把握できる
- 必要な要素・行・列を取り出し、条件に応じた処理ができる
- 目的に合ったaxisを指定して集計できる
- 形状変更やブロードキャストを使った計算の意味を説明できる
- 基本操作を組み合わせて、分析に使うデータを整えられる
特に大切にしているのは、自分が求めたい結果と、コードが実際に行っている処理を対応させられることです。
例えば「各項目の平均を求めたい」と思ったときに、データの並び方を確認し、集計する軸を選び、出力された値と形状が正しいかを確かめる。こうした手順を自分で考えられるようになることが、本書の目標です。
身につけた配列の考え方は、この先pandasやMatplotlib、scikit-learnなどを学ぶ際にも役立ちます。
まとめ
今回は、新刊『機械学習・データ分析のためのNumPy入門 ― 配列操作と数値計算の基本をPythonで学ぶ ―』をご紹介しました!
Pythonの基本文法を学んだあとに、数値データを扱う練習をしておくと、データ分析や機械学習のコードも読み進めやすくなります。
本書では、小さな配列を使ったコード例と演習を通して、配列操作と数値計算の基礎を一つずつ学べるようにしました。
「Pythonの次にNumPyを学びたい」「axisや配列の形で迷わなくなりたい」「演習を通してデータを扱う力を身につけたい」という方に、ぜひ取り組んでいただければと思います。
Kindle版は1,180円、Kindle Unlimited会員の方は追加料金なしでお読みいただけます。
▼『機械学習・データ分析のためのNumPy入門』はこちら
Pythonの知識をデータ分析へつなげる一冊として、活用していただけたら嬉しいです!
