Implementierung von ast.literal_eval auf einem numpy Array

Mit dem folgenden Ausdruck kannst du einen String in einen Python-Dict umwandeln.

>>> import ast >>> a = ast.literal_eval("{'muffin' : 'lolz', 'foo' : 'kitty'}") >>> a {'muffin': 'lolz', 'foo': 'kitty'} 

Und mit dem folgenden Ausdruck kannst du den "foo" Wert bekommen:

  • Verschachtelte NumPy-Arrays und Methoden wie das Aufteilen von ihnen
  • Numpy - wie man ein Array von Wert / Schlüsselpaaren in absteigender Reihenfolge sortiert
  • Null-Werte eines Arrays, das in nan-Werte umgewandelt werden soll
  • ValueError: 'axis' Eintrag ist außerhalb der Grenzen // numpy
  • Wie man alle möglichen Kombinationen einer 14x10 Matrix erzeugt, die nur 1 und 0 enthält
  • Erstellen Sie eine Matrix aus Array von Elementen unter diagonal in numpy
  •  >>> a.get('foo') 

    Ich habe eine Reihe von Saiten, die ähnlich wie python dict Format sind.

    Zuerst möchte ich alle von ihnen umwandeln, also werde ich in der Lage sein, ein dict-Array zu erstellen.

    Zweitens möchte ich alle "foo" -Werte aus diesem dict-Array bekommen, also werde ich in der Lage sein, ein "foo" Array zu erstellen.

    Wie kann ich das schaffen?

    Vielen Dank,

    One Solution collect form web for “Implementierung von ast.literal_eval auf einem numpy Array”

    Ist das ungefähr was du nachher hast?

     import ast import numpy a = numpy.array(["{'foo':123}","{'foo':234}"]) numpy.fromiter((ast.literal_eval(s)['foo'] for s in a), numpy.int_) 

    (Natürlich hängt der passende dtype davon ab, was eigentlich in diesen dicts ist.)

    Python ist die beste Programmiersprache der Welt.