Python学習サービス「キノクエスト」のご紹介
キノコードでは、Pythonを習得するためのPython学習サービス「キノクエスト」を運営しています。
キノクエストには、学習カリキュラムがあり、学習順番に悩むことなく学習を進められます。
月額1,990円と本1冊分の値段です。
キノクエストの特徴は下記の通りです。
・Python学習をしている仲間が集まるコミュニティがある
・1000問以上の問題を解いてプログラミングを習得
・環境構築不要ですぐに始められる
・動画と連動しているので、インプットもできる。
・月額1,990円で、コミュニティもセット
キノクエストを詳しく知りたい方は、紹介ページをご覧ください。
▼キノクエストの紹介ページはこちら▼
https://kino-code.com/kq_service_a/
Pythonで配列を縦方向に結合する方法
Pythonで配列を縦方向に結合する方法です。
使用するのは、Pythonのnumpyライブラリのvstack関数です。
import numpy as np
まず、このような2つの1次元配列を結合してみましょう。
a_1 = np.array([1, 2, 3, 4, 5])
a_2 = np.array([10, 20, 30, 40, 50])
vstack関数の引数に、結合させたい配列をタプルで指定します。
実行します。
配列を縦方向に結合することができました。
np.vstack((a_1, a_2))
実行結果:
array([[ 1, 2, 3, 4, 5],
[10, 20, 30, 40, 50]])
次に、1次元配列と2次元配列を結合してみましょう。
a_1 = np.array([1, 2, 3, 4, 5])
a_3 = np.array([[60, 61, 62, 63, 64],
[70, 71, 72, 73, 74],
[80, 81, 82, 83, 84]])
先ほどと同様に、タプルで結合させたい配列を指定して実行します。
配列を縦方向に結合することができました。
このように、行数が異なる配列でも、列数が同じであれば結合することができます。
np.vstack((a_1, a_3))
実行結果:
array([[ 1, 2, 3, 4, 5],
[60, 61, 62, 63, 64],
[70, 71, 72, 73, 74],
[80, 81, 82, 83, 84]])
次に、3つの配列を結合してみましょう。
a_1 = np.array([1, 2, 3, 4, 5])
a_2 = np.array([10, 20, 30, 40, 50])
a_3 = np.array([[60, 61, 62, 63, 64],
[70, 71, 72, 73, 74],
[80, 81, 82, 83, 84]])
実行します。
配列を結合することができました。
np.vstack((a_1, a_2, a_3))
実行結果:
array([[ 1, 2, 3, 4, 5],
[10, 20, 30, 40, 50],
[60, 61, 62, 63, 64],
[70, 71, 72, 73, 74],
[80, 81, 82, 83, 84]])
なお、似た関数でhstack関数があります。
hstack関数は、横方向に配列を結合することができます。
a_1 = np.array([1, 2, 3, 4, 5])
a_2 = np.array([10, 20, 30, 40, 50])
np.hstack((a_1, a_2))
実行結果:
array([ 1, 2, 3, 4, 5, 10, 20, 30, 40, 50])