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)