Ich habe ein numpy Array mit 3 Elementen; Von diesem Array möchte ich eine Liste erstellen, in der jedes Element in wissenschaftlicher Notation steht, und nicht ein String. Es scheint, als sollte es einfach sein, aber ich habe Probleme damit. Meine aktuelle Skript ist wie folgt:Erstellen Sie eine Liste von Elementen, mit jedem Element mit wissenschaftlicher Notation
import numpy as np
ary = np.array([2.124598e+00, 9.1542e+00, 1.049e+00])
ary = ary.astype(np.float)
ary = ary.tolist()
ary = ['%.9e' % x for x in ary]
print(ary)
print(type(ary))
Ausgang ist:
['2.124598000e+00', '9.154200000e+00', '1.049000000e+00']
<type 'list'>
Wie kann ich halte wissenschaftliche Schreibweise für jedes Element, und einen nicht-string Elementtyp?
Bearbeiten: Das Ziel besteht darin, eine Eingabedatei zu erstellen, damit die Formatierung der Formatierung einer bekannten Eingabedatei entspricht. Mein idealer Ausgang ist wie folgt:
[2.124598000e+00, 9.154200000e+00, 1.049000000e+00]
<type 'list'>
Entfernen ['%.9e' % x for x in ary]
gibt mir die folgenden, ohne die wissenschaftliche Notation, die ich suche:
[2.124598, 9.1542, 1.049]
<type 'list'>
Nur herumwandern, warum brauchst du das? Wenn Sie mathematische Operationen ausführen, können Sie das Ergebnis in wissenschaftliche Notation konvertieren, nachdem Sie es erhalten haben. – sbowde4
@ sbowde4 - Ich schreibe eine Eingabedatei und versuche, die Formatierung einer vorhandenen Eingabedatei anzupassen. – AaronJPung