コラム

Pythonの頼れる相棒!NumPyの世界へようこそ

Pythonは汎用性が高く、様々な分野で利用されるプログラミング言語です。その中でも、数値計算を強力にサポートするライブラリが NumPy (ナンパイ) です。

「数値計算なんて難しそう…」と感じる方もいるかもしれませんが、NumPyは、科学技術計算、データ分析、機械学習など、幅広い分野で活躍する、Pythonプログラミングの頼れる相棒なのです。

今回は、NumPyの魅力に触れ、その基本的な使い方を初心者にもわかりやすくご紹介します。

NumPyとは?

NumPyは、Numerical Pythonの略で、Pythonにおいて、以下のような機能を提供するライブラリです。

NumPyを使うメリット

NumPyを使うことで、Pythonでの数値計算が劇的に効率化されます。

NumPyを使い始める第一歩

まずはNumPyをインストールしましょう。ターミナルやコマンドプロンプトで以下のコマンドを実行します。

pip install numpy

インストールが完了したら、Pythonのスクリプト内でNumPyをインポートします。

import numpy as np

np は慣習的にNumPyのエイリアスとして使われます。

NumPy配列 (ndarray) を作ってみよう

NumPyの中心となるのは ndarray です。様々な方法で配列を作成できます。

import numpy as np

# リストから配列を作成
my_list = [1, 2, 3, 4, 5]
my_array = np.array(my_list)
print(my_array) # 出力: [1 2 3 4 5]

# 0で初期化された配列を作成
zeros_array = np.zeros(5)  # 長さ5の0で埋められた配列
print(zeros_array) # 出力: [0. 0. 0. 0. 0.]

# 1で初期化された配列を作成
ones_array = np.ones((2, 3)) # 2行3列の1で埋められた配列
print(ones_array)
# 出力:
# [[1. 1. 1.]
#  [1. 1. 1.]]

# 連番の配列を作成
arange_array = np.arange(0, 10, 2) # 0から10未満まで2刻みの配列
print(arange_array) # 出力: [0 2 4 6 8]

# 等間隔の配列を作成
linspace_array = np.linspace(0, 1, 5) # 0から1までを5等分した配列
print(linspace_array) # 出力: [0.   0.25 0.5  0.75 1.  ]

NumPy配列の基本的な操作

NumPy配列は、Pythonのリストと同様に、要素へのアクセスやスライスが可能です。

import numpy as np

my_array = np.array([10, 20, 30, 40, 50])

# 要素へのアクセス
print(my_array[0]) # 出力: 10
print(my_array[3]) # 出力: 40

# スライス
print(my_array[1:4]) # 出力: [20 30 40]

# 配列全体の演算
print(my_array + 5) # 出力: [15 25 35 45 55]
print(my_array * 2) # 出力: [ 20  40  60  80 100]

NumPyの便利な関数たち

NumPyには、数値計算を簡単にするための様々な関数が用意されています。

import numpy as np

my_array = np.array([1, 2, 3, 4, 5])

# 合計
print(np.sum(my_array)) # 出力: 15

# 平均
print(np.mean(my_array)) # 出力: 3.0

# 最大値
print(np.max(my_array)) # 出力: 5

# 最小値
print(np.min(my_array)) # 出力: 1

# 標準偏差
print(np.std(my_array)) # 出力: 1.4142135623730951

まとめ

今回は、NumPyの基本的な概念と使い方をご紹介しました。NumPyは、Pythonでの数値計算を強力にサポートする、非常に便利なライブラリです。

今回ご紹介した内容は、NumPyのほんの入り口にすぎません。さらに深く学ぶことで、データ分析や機械学習など、様々な分野でNumPyを活かすことができるようになります。

ぜひ、NumPyの世界を探求し、Pythonプログラミングのスキルを向上させてください!



< openpyxl
Matplotlib >



コラム一覧

if文
for文
関数
配列
文字列
正規表現
ファイル入出力
openpyxl
Numpy
Matplotlib
Pandas
scikit-learn
seaborn
beautifulsoup
tkinter
OpenCV
pygame
メイン関数
自作ライブラリ
画像処理
機械学習
スクレイピング
データ分析
グラフ作成
API
可読性
デバッグ
例外処理
コメント
組み込み関数
flask
学び方
ビット演算
マルチスレッドプログラミング
参照渡し
pyenv
エディタ
生成AI
画像認識
Streamlit
lambda式
物理演算シミュレーション
命名規則
遺伝的アルゴリズム
関数型プログラミング
オブジェクト指向
ツリー図