Pythonの数値計算ライブラリNumPyの配列型データ構造であるndarrayに値や別のndarrayを追加する際には、numpy.appendを用いる。
Numpyを使う際にはimportが必要。しばしば次のようにnpと略されてインポートされる。
import numpy as np
1. appendの書式
appendの書式は以下。appendでは元のndarrayに追加されるのではなくコピーが生成される。
numpy.append(arr, values, axis=None)
引数 | 意味 |
---|---|
arr | 追記されるndarrayまたはlist |
values | 追記するndarrayまたはlist。arrと |
axis | オプション。指定しなければarr、valusの値が一次元ndarrayにコピーされる。指定した場合指定した軸方向に追加される。 |
2. 一次元ndarrayへのappend
一次元ndarray[10, 11, 12]に13を追記する例。
import numpy as np x = np.array([10, 11, 12]) print(np.append(x, 13))
実行結果
[10 11 12 13]
list[13, 14]を追記する例。
import numpy as np x = np.array([10, 11, 12]) print(np.append(x, [13, 14]))
実行結果
[10 11 12 13 14]
arrとvaluesの順番を入れ替えると追記後の順番を変えられる。
import numpy as np x = np.array([10, 11, 12]) print(np.append([13, 14], x))
実行結果
[13 14 10 11 12]
3. 二次元以上のndarrayへのappend
二次元以上のndarrayへのappendではaxisを指定することで次元を維持して追記できる。
axisを指定しないで二次元ndarrayへappendする場合。一次元に変換される。
import numpy as np x = np.array([[10, 11, 12], [13, 14, 15]]) print(np.append(x, [[16, 17, 18]]))
実行結果
[10 11 12 13 14 15 16 17 18]
二次元ndarrayへのappendでaxis=0を指定した場合。
import numpy as np x = np.array([[10, 11, 12], [13, 14, 15]]) print(np.append(x, [[16, 17, 18]], axis=0))
実行結果
[[10 11 12] [13 14 15] [16 17 18]]
三次元ndarrayへのappendでaxis=1を指定した場合。
import numpy as np x = np.array([[[10, 11, 12], [13, 14, 15]]]) print(np.append(x, [[[16, 17, 18]]], axis=1))
実行結果
[[[10 11 12] [13 14 15] [16 17 18]]]
4. リファレンス
使用バージョン:Python 3.8.12/numpy 1.21.5
0 件のコメント:
コメントを投稿