NumPy-array toevoegen

Numpy heeft ook append functie om gegevens aan de array toe te voegen, net als append bediening list in Python. Maar in sommige gevallen append lijkt NumPy ook een beetje op de extend methode in Python list.

Leukste platte speelgoed voor op va...
Leukste platte speelgoed voor op vakantie: Fat Brain Toys Dimpl

reeks append

Laten we eerst de syntaxis van vermelden ndarray.append.

numpy.append (arr, values, axis = None)

Invoerparameters

parameternaam type gegevens Beschrijving
arr array_like Een array om een ​​element toe te voegen
values array_like Array toegevoegd
axis INT De as waarlangs values zijn toegevoegd.

Laten we een paar voorbeelden maken,

In [1]: import numpy as np
        arrayA = np.arange(12).reshape(3, 4)
        arrayB = np.ones((1, 4))
        np.append(arrayA, arrayB)
        
Out[1]: array([ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11.,  1.,
        1.,  1.,  1.])

Wanneer axis niet wordt gegeven, beide arr en values worden afgevlakt voor gebruik. Het resultaat is een 1-D array. In het bovenstaande voorbeeld hoeven we ons geen zorgen te maken over de vorm van twee gegeven arrays.

In [2]: np.append(arrayA, arrayB, axis=0)
Out[2]: array([[ 0.,  1.,  2.,  3.],
       [ 4.,  5.,  6.,  7.],
       [ 8.,  9., 10., 11.],
       [ 1.,  1.,  1.,  1.]])
In [2]: np.append(arrayA, np.ones((1, 3)), axis=0)
        ---------------------------------------------------------------------------
        ValueError                                Traceback (most recent call last)
        <ipython-input-25-fe0fb14f5df8> in <module>()
        ----> 1 np.append(arrayA, np.ones((1, 3)), axis=0)

        D:\ProgramData\Anaconda3\lib\site-packages\numpy\lib\function_base.py in append(arr, values, axis)
           5164         values = ravel(values)
           5165         axis = arr.ndim-1
        -> 5166     return concatenate((arr, values), axis=axis)

        ValueError: all the input array dimensions except for the concatenation axis must match exactly

Wanneer axis gelijk is aan 0 , wordt de array values toegevoegd arr in de richting van de kolom. Het verhoogt de waarde ValueError als twee gegeven arrays niet dezelfde lengte in de rij hebben - ValueError: all the input array dimensions except for the concatenation axis must match exactly.

Je kan zelf proberen de gegevens in de rijrichting toe te voegen met de parameter axis=1.