Pythonで数値計算やデータ分析を始めるなら、まず押さえておきたいのがNumPyです。特に配列操作を理解すると、効率よくデータを扱えるようになります。この記事では、初心者にもわかりやすくNumPyの基本から配列操作の実践まで解説します。
NumPyとは?
NumPy(Numerical Python)は、Pythonで数値計算を効率的に行うためのライブラリです。リストと似ていますが、多次元配列を扱うことができ、計算処理が高速である点が大きな特徴です。さらに、行列計算や統計処理も簡単に実装できるため、データ分析や機械学習の基盤として広く利用されています。
NumPy配列(ndarray)の基本
NumPyの中心的なデータ構造は「ndarray」と呼ばれる配列です。リストと似ていますが、全ての要素が同じ型で統一されており、数学的な演算が可能です。また、多次元配列をサポートしているため、行列計算にも適しています。
import numpy as np
# 1次元配列の作成
arr = np.array([1, 2, 3, 4, 5])
print(arr)
# 2次元配列の作成
matrix = np.array([[1, 2], [3, 4]])
print(matrix)
このように「np.array」を使えば、Pythonのリストから簡単に配列を作成できます。
配列の基本操作
要素へのアクセス
NumPy配列の要素にはインデックスを使ってアクセスできます。リストと同じように、0から始まる番号で指定します。また、多次元配列では「行」「列」を指定できます。
# 1次元配列
print(arr[0]) # 最初の要素
# 2次元配列
print(matrix[0, 1]) # 1行目2列目の要素
スライス
配列の一部を取り出す場合はスライスを使います。これはデータ処理でよく利用される機能です。
# 1から3番目の要素を取り出す
print(arr[1:4])
# 2次元配列の1列目を取り出す
print(matrix[:, 0])
このように直感的に配列を操作できるのはNumPyの大きな利点です。
配列の演算
NumPyでは、配列に対して直接演算を行うことができます。リストではできない要素ごとの計算が可能です。
# 要素ごとの加算
print(arr + 10)
# 要素ごとの乗算
print(arr * 2)
# 配列同士の演算
arr2 = np.array([10, 20, 30, 40, 50])
print(arr + arr2)
このように、数値計算を効率的に書けるのがNumPyの大きな魅力です。
便利な関数
NumPyには便利な関数が多数用意されています。例えば、平均や最大値、標準偏差の計算などが一行で可能です。
print(np.mean(arr)) # 平均
print(np.max(arr)) # 最大値
print(np.std(arr)) # 標準偏差
さらに、「np.arange」や「np.linspace」を使えば、規則的な配列も簡単に作成できます。
print(np.arange(0, 10, 2)) # 0から10未満まで2刻み
print(np.linspace(0, 1, 5)) # 0から1を5等分
多次元配列と形状操作
NumPyでは配列の形状を自在に変換できます。例えば、一次元配列を二次元配列に変換したり、行列を転置したりできます。
# 形状の確認
print(matrix.shape)
# reshapeで変形
reshaped = arr.reshape((5, 1))
print(reshaped)
# 転置
print(matrix.T)
こうした操作を覚えることで、複雑なデータ処理を柔軟にこなせるようになります。
応用テクニック
NumPyは単なる計算ツールにとどまりません。例えば乱数生成を使えば、シミュレーションや機械学習の検証にも活用できます。
# 乱数の生成
random_arr = np.random.rand(3, 3)
print(random_arr)
# 正規分布に従う乱数
normal_arr = np.random.randn(5)
print(normal_arr)
また、ブールインデックスを使って条件に合う要素だけを取り出すことも可能です。
# 3以上の要素だけ抽出
print(arr[arr >= 3])
これらを組み合わせると、複雑なデータ操作も短いコードで実現できます。
よくあるエラーと注意点
NumPyを使い始めたばかりの人がよくつまずくのは、リストとndarrayの違いです。リストに対して演算を行うと予想外の結果になることがあります。また、「reshape」で形を変える際には要素数が一致していないとエラーになります。さらに、浮動小数点計算では丸め誤差が生じるため、厳密な比較が必要な場合は注意しましょう。
Python初心者におすすめのサービス
「もっと実践的なコード例が欲しい」「自分の用途に合わせて教えてほしい」という方には、
テックアカデミーがおすすめです。
AI関連コースやシステム開発コース、アプリ開発コースなど豊富な学習が可能です。
さらに今なら無料相談でアマギフプレゼントもあるので、気軽にお申込みしてみてください。
また、プログラミング学習のプラットフォームとして、ココナラでは、現役エンジニアや経験豊富なPython講師が、あなたのレベルや目的に合わせてマンツーマンで指導してくれます。
書籍や動画ではカバーしきれない、あなた専用のカリキュラムで学べるのが最大の魅力。短時間で効率的にスキルを伸ばしたいなら、まずは出品者のサービスをチェックしてみましょう。
また、教える側としてスキルを活かして副業・独立を目指すことも可能です。
プログラミング経験やPythonの知識があれば、自分の得意分野をサービスとして出品し、全国の学習者から直接依頼を受けられます。オンラインで完結するため、場所や時間に縛られず、自分のペースで働けるのも大きなメリットです。
こちらのリンクから詳細をチェックしてみてください。
まとめ
NumPyを使えば、Pythonで効率的に数値計算や配列操作を行うことができます。まずは基本を理解し、少しずつ応用的な使い方に挑戦していきましょう。
以下のリンクから、
SESの組込みシステムから色々な不満を持ち、自社WEBサービスへ転職した実体験の記事がありますので、是非読んでみてください。とても喜びます。
SESの組込みシステムから自社WEBサービスのエンジニアに転職した話

コメント