1. ホーム
  2. python

np.append()関数の使用法

2022-02-20 18:35:30

関数 np.append(arr, values, axis=None)

効果

元の配列にいくつかの値を追加する

パラメータです。

  • arr:値を追加する配列
  • values:配列arrに追加する値(array_like, class array)
  • axis:オプションのパラメータ、もしaxisが与えられないなら、arrとvaluesは両方とも最初に1次元配列に広がります。 注:軸が指定された場合、配列と値は同じ形状である必要があり、そうでない場合はエラーが報告されます。ValueError: 配列は同じ次元数でなければなりません。

軸の理解を深める

  • 例えば、arr の次元が 1 の場合、軸の最大値は 0、arr の次元が 2 の場合、軸の最大値は 1、......となります。
  • arr の次元が 2 の場合(1 チャンネルグラフと理解),axis=0 は行方向に値を追加すること,axis=1 は列方向に値を追加することを意味します.
  • arr が 3 次元(マルチチャンネルグラフとして理解される)の場合、axis=0, axis=1 は上記の通り、axis=2 は奥行き方向に値を追加することを意味する。

を返します。

値が追加された新しい配列

1.軸を無視する

    arr の後に、axis=0 方向に値が追加されます。

import numpy as np
a=[1,2,3]
b=[4,5]
c=[[6,7],[8,9]]
print(np.append(a,b))
print(np.append(a,c))

出力はこのようになります。

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


2. 軸を考える

    arr,同じ形状の値

import numpy as np
a=[1,2,3]
b=[4,5]
c=[[6,7],[8,9]]
d=[[10,11],[12,13]]
print('Add values after the one-dimensional array a, the result is as follows: {}'.format(np.append(a,b,axis=0)))
print('The result of adding values along the rows of the two-dimensional array c is as follows: '.format(np.append(c,d,axis=0)))
print('The result of adding values along the column direction of the two-dimensional array c is as follows:'.format(np.append(c,d,axis=1)))
print('Using axis, if arr and values have different shapes, an error is reported:'.format(np.append(a,c,axis=0)))

結果は次のようになります。

Adding values to the one-dimensional array a results in the following.
[1 2 3 4 5]
Adding values along the rows of the two-dimensional array c results in the following.
[[ 6 7]
 [ 8 9]
 [10 11]
 [12 13]]
Adding values along the column direction of the two-dimensional array c results in the following.
[[ 6 7 10 11]
 [ 8 9 12 13]]

3. arrとvaluesの形状が異なる場合、エラーを報告するaxisを考えてみましょう。

import numpy as np
a=[1,2,3]
c=[[6,7],[8,9]]
print(np.append(a,c,axis=0))


出力はこのようになります。

Traceback (most recent call last):
  File "F:\eclipse-workspace\test\t1.py", line 4, in <module>
    print(np.append(a,c,axis=0))
  File "E:\anaconda\anzhuang\lib\site-packages\numpy\lib\function_base.py", line 4694, in append
    return concatenate((arr, values), axis=axis)
ValueError: all the input arrays must have the same number of dimensions


PS:

自分用の小さな広告を盗み、コードをスキャンしてWeChatの公開番号をフォローし、ディープラーニングデータセットを手に入れることができます。

<スパン 私たちはデータを作るのではなく、データを動かすだけです。