Konvertieren numpy matrix-python-array

Gibt es alternative oder bessere Möglichkeiten, um zu konvertieren ein numpy matrix zu einem python-array als diese?

>>> import numpy
>>> import array
>>> b = numpy.matrix("1.0 2.0 3.0; 4.0 5.0 6.0", dtype="float16")
>>> print(b)
[[ 1.  2.  3.]
 [ 4.  5.  6.]]
>>> a = array.array("f")
>>> a.fromlist((b.flatten().tolist())[0])
>>> print(a)
array('f', [1.0, 2.0, 3.0, 4.0, 5.0, 6.0])
InformationsquelleAutor lash | 2016-08-18



2 Replies
  1. 1

    Könnten Sie konvertieren, um ein NumPy-array und erzeugen seine reduzierte version mit .ravel() oder .flatten(). Dies könnte auch erreicht werden, indem einfach mit der Funktion np.ravel sich, wie es diese beiden nimmt unter der Haube. Schließlich verwenden array.array() auf es, wie so

    a = array.array('f',np.ravel(b))

    Probe Gefahren –

    In [107]: b
    Out[107]: 
    matrix([[ 1.,  2.,  3.],
            [ 4.,  5.,  6.]], dtype=float16)
    
    In [108]: array.array('f',np.ravel(b))
    Out[108]: array('f', [1.0, 2.0, 3.0, 4.0, 5.0, 6.0])
  2. 0

    hier ist ein Beispiel :

    >>> x = np.matrix(np.arange(12).reshape((3,4))); x
    matrix([[ 0,  1,  2,  3],
            [ 4,  5,  6,  7],
            [ 8,  9, 10, 11]])
    >>> x.tolist()
    [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.