python numpyの配列に値を追加する

python numpyの配列に値を追加する

pythonで、ライブラリnumpyのappendを使用して、配列に値を追加するサンプルコードを記述してます。pythonのバージョンは3.8.5を使用してます。

環境

  • OS windows10 pro 64bit
  • python 3.8.5

numpyインストール

numpyをインストールされていない方は、pipでインストールしておきます。

pip install numpy

# Successfully installed numpy-1.19.4

append使い方

appendを使用すると、配列に値を追加することが可能です。

import numpy as np

arr =np.append(配列, 追加したい値)

以下は、用意した配列に値を追加するサンプルコードとなります。

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6])

arr2=np.append(arr, 7)

print(arr2)

# [1 2 3 4 5 6 7]

arr = np.array([1, 2, 3, 4, 5, 6])

arr2=np.append(arr, [7 , 8, 9])

print(arr2)

二次元配列に追加する場合は、以下となります。

import numpy as np

arr = np.array([[1, 2, 3],[4, 5, 6]])

# axis=0 行を追加
arr2=np.append(arr, [[7, 8, 9]], axis=0)

print(arr2)
# [[1 2 3]
#  [4 5 6]
#  [7 8 9]]

arr = np.array([[1, 2, 3],[4, 5, 6]])

# axis=1 列を追加
arr2=np.append(arr, [[4],[7]], axis=1)

print(arr2)
# [[1 2 3 4]
#  [4 5 6 7]]

insert使い方

insertを使用すれば、指定した位置に値を追加することが可能です。

arr2=np.insert(配列, 位置を指定, 追加したい値)

以下は、用意した配列に値を指定した位置に、追加するサンプルコードとなります。

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6])

arr2=np.insert(arr, 1, 3)

print(arr2)

# 1 3 2 3 4 5 6]

arr = np.array([1, 2, 3, 4, 5, 6])

arr2=np.insert(arr,6, [7 , 8, 9])

print(arr2)

# [1 2 3 4 5 6 7 8 9]

文字列に追加する場合は、追加する配列内の最大文字数を超えると、最大文字数分しか追加されません。

import numpy as np

arr = np.array(["abc", "cde"])

arr2=np.insert(arr, 2, "abcde")

print(arr2)

# ['abc' 'cde' 'abc']

# 最大文字数を指定する必要がある
arr = np.array(["abc", "cde"], dtype='<U5')

arr2=np.insert(arr, 2, "abcde")

print(arr2)

# ['abc' 'cde' 'abcde']