非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

【Python】配列の列末尾に縦方向で配列を追加する方法

   

Pythonで配列の列の末尾に縦方向に配列を追加する方法について紹介します。ざっくり書くと下図のようなイメージです。

この処理は簡単なように思いがちですがプログラミング言語的には行の追加に比べて結構困難で、例えばVBAではほぼ不可能なんじゃないかと思います。(別の配列に移植することで解決) そんな中でPythonでは割と簡単に追加できます。

とはいえ、一発で処理できるわけでもなく以下のようないくつかのステップを踏む必要があります。

  1. メイン配列をnumpyに変換する。
  2. 追加する配列(1次元配列)を2次元配列化する。
  3. 2次元化した追加配列をnumpyに変換し縦横を入れ替える。
  4. メイン配列へ縦方向に追加する

2、3は前回の【Python】配列(list)の縦横を入れ替える方法を参考にしてください。

ソースコードはこちら。

import numpy as np

arr = [['東京都','新宿区'],['北海道','札幌市'],['宮城県','仙台市'],['愛知県','名古屋市']]
add_data = ['03','011', '022','052']

# メイン配列をnumpyに変換
data = np.array(arr)
# 追加配列を2次元化([ ]括り)してnumpy化(np.array)して縦横変換(.T)
add_data_t = np.array([add_data]).T
# 縦方向に追加する(axis=1)
data = np.append(data, add_data_t, axis=1)
print(data)
# 出力結果
# [['東京都' '新宿区' '03']
# ['北海道' '札幌市' '011']
# ['宮城県' '仙台市' '022']
# ['愛知県' '名古屋市' '052']]
 

 

 

スポンサーリンク

 - Python