Pythonで配列の形状と次元を変更する方法

Pythonで配列の形状や次元を効率的に変更する方法を詳しく解説します。`numpy`ライブラリを用いて基本から応用までのテクニックを網羅し、具体的なコード例とその解説、応用例を含めています。

目次

はじめに

Pythonはデータ解析、機械学習、科学計算など多岐に渡る分野で広く使用されています。特に、配列の形状や次元を効率的に操作できるライブラリ`numpy`は、これらのタスクにおいて欠かせないツールです。

numpyとは

`numpy`(ナムパイ)は、Pythonで数値計算を効率的に行うためのライブラリです。配列操作において非常に強力で、多次元配列もサポートしています。

基本的な形状と次元の変更

reshapeメソッド

`sCode`
import numpy as np

# 1次元配列の作成
arr1 = np.array([0, 1, 2, 3, 4, 5])

# 2×3の2次元配列に変更
arr2 = arr1.reshape(2, 3)
print(arr2)

上記のコードでは、`reshape`メソッドを使って1次元配列`arr1`を2×3の2次元配列`arr2`に変更しています。

flattenメソッド

`sCode`
# arr2を1次元配列に変更
arr_flatten = arr2.flatten()
print(arr_flatten)


`flatten`メソッドは、多次元配列を1次元配列に変換します。

応用例

条件に応じて配列を変形する

`sCode`
# 3×4の2次元配列を作成
arr3 = np.array([[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]])

# 偶数列だけ抽出して1次元配列に変形
arr_even = arr3[:, ::2].flatten()
print(arr_even)