Pythonでデータ分析や機械学習を行う際に、必ずといっていいほど出てくる「np」という表記。これは、多くの場合「NumPy(ナンパイ)」というライブラリを省略して使ったものです。NumPyは数値計算を高速かつ効率的に行うために開発されたライブラリであり、Python初心者から上級者まで幅広い層に支持されています。本記事では、Pythonにおけるnp(NumPy)の意味や基本的な使い方、代表的な機能について、わかりやすく丁寧に解説していきます。これからPythonを学び始める方も、NumPyを本格的に使いこなしたい方も、ぜひ参考にしてください!
Pythonでよく見かける「np」という表記は、NumPy(Numerical Python)というライブラリを、短縮形で呼び出しているものです。
NumPyは、Pythonでの数値計算を高速化し、大量のデータを効率よく操作できるように設計されています。
例えば、Python標準のリストを使った場合と比較すると、配列演算や統計処理が格段に速く、コードもシンプルに書くことができます。
科学技術計算、機械学習、データ分析など、幅広い分野でNumPyは必須のライブラリとなっています。
NumPyを使うためには、まずライブラリをインポートする必要があります。
一般的には次のようにインポートします。
import numpy as np
ここで「as np」という記述をしているため、以後は「np」という短縮名でNumPyの機能を利用できるのです。
なお、NumPyがインストールされていない場合は、次のコマンドでインストールしましょう。
pip install numpy
簡単にインストールできるので、Pythonを使う環境では必ず入れておきたいライブラリです。
NumPyでは、配列を扱うために**ndarray(エヌディーアレイ)**という専用のデータ型を使います。
配列を作成するには、np.array()
関数を使います。
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr)
出力結果:
[1 2 3 4 5]
リストをそのままNumPy配列に変換できるため、非常に直感的に使えます。
また、2次元配列や3次元配列も簡単に作成可能です。
arr2d = np.array([[1, 2, 3], [4, 5, 6]])
print(arr2d)
出力:
[[1 2 3]
[4 5 6]]
NumPy配列は、さまざまな情報を持っています。代表的な属性やメソッドを紹介します。
print(arr2d.shape) # (2, 3)
print(arr2d.dtype) # int64(環境により異なる)
arr_reshaped = arr.reshape((5, 1))
print(arr_reshaped)
出力:
cssコピーする編集する[[1]
[2]
[3]
[4]
[5]]
このように、NumPyでは柔軟に配列の形状を変更することができます。
NumPy配列は、同じサイズ同士であれば、加算・減算・掛け算・割り算が簡単にできます。
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(a + b) # [5 7 9]
print(a - b) # [-3 -3 -3]
print(a * b) # [4 10 18]
print(a / b) # [0.25 0.4 0.5 ]
このような要素ごとの演算は、リストではできない非常に便利な機能です。
NumPyには、便利な配列生成関数がいくつも用意されています。
np.zeros((2, 3))
# 出力: [[0. 0. 0.]
# [0. 0. 0.]]
np.ones((2, 3))
# 出力: [[1. 1. 1.]
# [1. 1. 1.]]
np.arange(0, 10, 2)
# 出力: [0 2 4 6 8]
np.linspace(0, 1, 5)
# 出力: [0. 0.25 0.5 0.75 1. ]
これらの関数を活用すると、複雑な配列作成が非常に簡単になります。
NumPyは統計処理にも強力な機能を持っています。
arr = np.array([1, 2, 3, 4, 5])
print(np.mean(arr)) # 3.0
print(np.median(arr)) # 3.0
print(np.std(arr)) # 1.4142135623730951
このように、複雑な統計処理も1行で完了するため、データ分析には欠かせない存在です。
Python標準のリストとNumPy配列は、似ているようで性能や機能に大きな違いがあります。
比較項目 | Pythonリスト | NumPy配列 |
---|---|---|
要素型 | バラバラでもOK | 同じ型に統一される |
メモリ使用量 | 多い | 少ない |
計算速度 | 遅い | 速い |
ベクトル演算 | 不可(for文で計算) | 可(高速) |
特に大量データを扱う場合、NumPyを使うことで圧倒的なパフォーマンス向上が得られます。
Pythonでデータを扱うなら、NumPyを知らないのは大きな損です。
まずは基本的な使い方を押さえ、自分のプロジェクトでどんどん活用してみましょう。
本記事では、Pythonにおけるnp(NumPy)について、基礎から実践的な使い方まで解説しました。
NumPyを使いこなすことで、Pythonでのデータ処理・計算が格段にスムーズになります。
最初は少しとっつきにくいかもしれませんが、基本のarray()
, arange()
, mean()
などから使い始め、少しずつ応用していけば大丈夫です。
ぜひこの記事を参考に、NumPyマスターを目指してください!