Hinzufügen eines Feldes zu einem strukturierten numpy Array

Was ist der sauberste Weg, um ein Feld zu einem strukturierten numpy Array hinzuzufügen? Kann es destruktiv gemacht werden, oder ist es notwendig, ein neues Array zu erstellen und die vorhandenen Felder zu kopieren? Sind die Inhalte jedes Feldes zusammenhängend im Speicher gespeichert, so dass ein solches Kopieren effizient durchgeführt werden kann?

2 Solutions collect form web for “Hinzufügen eines Feldes zu einem strukturierten numpy Array”

Wenn du numpy 1.3 benutzt hast, gibt es auch numpy.lib.recfunctions.append_fields ().

Für viele Installationen müssen Sie import numpy.lib.recfunctions darauf zuzugreifen. import numpy wird es nicht erlauben, die numpy.lib.recfunctions zu sehen

 import numpy def add_field(a, descr): """Return a new array that is like "a", but has additional fields. Arguments: a -- a structured numpy array descr -- a numpy type description of the new fields The contents of "a" are copied over to the appropriate fields in the new array, whereas the new fields are uninitialized. The arguments are not modified. >>> sa = numpy.array([(1, 'Foo'), (2, 'Bar')], \ dtype=[('id', int), ('name', 'S3')]) >>> sa.dtype.descr == numpy.dtype([('id', int), ('name', 'S3')]) True >>> sb = add_field(sa, [('score', float)]) >>> sb.dtype.descr == numpy.dtype([('id', int), ('name', 'S3'), \ ('score', float)]) True >>> numpy.all(sa['id'] == sb['id']) True >>> numpy.all(sa['name'] == sb['name']) True """ if a.dtype.fields is None: raise ValueError, "`A' must be a structured numpy array" b = numpy.empty(a.shape, dtype=a.dtype.descr + descr) for name in a.dtype.names: b[name] = a[name] return b 
  • Wann zu verwenden.shape und wann zu verwenden.
  • Importiere ein Array in Python
  • Wie bekomme ich PyLint, um numpy Mitglieder zu erkennen?
  • Ersatz für numpy broadcasting mit scipy.sparse.csc_matrix
  • FFT in Matlab und numpy / scipy geben unterschiedliche Ergebnisse
  • Gibt es eine "verbesserte" numpy / scipy dot Methode?
  • Wie bekomme ich Spaltennamen beginnend mit einem Minus bei der Verwendung von numpy.genfromtxt?
  • Wie man obere und untere Grenzen bei der Verwendung von numpy.random.normal spezifiziert
  • Matplotlib: Wie bekomme ich Punkt auf einer Streuung automatisch platziert Pfeil?
  • Die meisten effizienten Eigenschaft zu Hash für numpy Array
  • Lassen Sie uns eine Referenzimplementierung von N-dimensionalem Pixel binning / bucketing für python's numpy machen
  • Python ist die beste Programmiersprache der Welt.