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:

  • Wie kann ich überprüfen, ob ein zweidimensionales NumPy-Array ein bestimmtes Muster von Werten enthält?
  • Multiplizieren Sie zwei Arrays Element weise, wo eine der Arrays Arrays als Elemente hat
  • Element-weise String Verkettung in numpy
  • Arrays von Strings in numpy.amax
  • Verketten ein angepasstes Format einer spärlichen Matrix X mit einem Zielfeld Y in Python
  • Erstellen Sie multidimensionale Nullen Python
  •  >>> 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.