pythonコード百科事典

コピペですぐ使えるPythonコードをご紹介

Pythonで行列を結合する方法(numpy / pandas)

Pythonで行列を結合するには、様々な方法があります。以下に、いくつかの方法を紹介します。

numpyモジュールを使用する

numpyモジュールは、数値計算を行うためのライブラリです。このモジュールを使用すると、行列を結合することができます。

import numpy as np

# 2行3列の行列を作成する
matrix1 = np.array([[1, 2, 3], [4, 5, 6]])

# 2行3列の行列を作成する
matrix2 = np.array([[7, 8, 9], [10, 11,12]])

# 縦方向に結合する
vertical_concat = np.vstack((matrix1, matrix2))

print(vertical_concat) 

# 横方向に結合する
horizontal_concat = np.hstack((matrix1, matrix2))

print(horizontal_concat)

実行結果は以下の通りです。

[[ 1  2  3]
 [ 4  5  6]
 [ 7  8  9]
 [10 11 12]]
[[ 1  2  3  7  8  9]
 [ 4  5  6 10 11 12]]

pandasモジュールを使用する

pandasモジュールは、データの加工や操作を行うためのライブラリです。このモジュールを使用すると、行列を結合することができます。

import pandas as pd

# 2行3列の行列を作成する
matrix1 = pd.DataFrame([[1, 2, 3], [4, 5, 6]])

# 3行2列の行列を作成する
matrix2 = pd.DataFrame([[7, 8], [9, 10], [11, 12]])

# 縦方向に結合する
vertical_concat = pd.concat([matrix1, matrix2], axis=0)

print(vertical_concat)

# 横方向に結合する
horizontal_concat = pd.concat([matrix1, matrix2], axis=1)

print(horizontal_concat)

実行結果は以下の通りです。

    0   1    2
0   1   2  3.0
1   4   5  6.0
0   7   8  NaN
1   9  10  NaN
2  11  12  NaN
     0    1    2   0   1
0  1.0  2.0  3.0   7   8
1  4.0  5.0  6.0   9  10
2  NaN  NaN  NaN  11  12

上記のように、Pythonでは様々な方法で行列を結合することができます。
使用するライブラリやデータ構造によって、方法は異なりますので、使用するライブラリやデータ構造を選択する必要があります。