wie Runde numpy-array?
Habe ich ein numpy-array so etwas wie unten:
data = [ 1.60130719e-01, 9.93827160e-01, 3.63108206e-04]
np.around(data,2) # doesn't work any alternatives ?
Möchte ich, um 2 Dezimalpunkt für die oben genannten Werte.
Sehe ich np.around
, es funktioniert für den einzelnen Wert, aber kein ganzes array.
Gibt es einige leicht zu umgehen in numpy, oder muss ich das schreiben, meine eigene Funktion, mit np.herum?
Update-
Array war kein np-array, das nach dem Import wie np.array funktioniert es.
np.round(data,2)
?Dein Beispiel funktioniert Prima. Was meinst du mit "funktioniert nicht"?
np.round
entspricht np.around
und beide arbeiten für den gesamten arrays.Was genau willst du die gerundete Ausgabe?
InformationsquelleAutor ajayramesh | 2017-10-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie entweder:
oder:
als Sie entspricht.
Vom die Dokumentation:
Dem Grund, dass Sie denken, die oben genannten Methoden nicht funktionieren, ist die Art und Weise, die Sie importiert haben
numpy
.Aus deinem ersten Beispiel scheint es, dass Sie importiert werden mit:
als Sie bei der Definition
arrays
mit nurarray(...)
. Jedoch, Sie dann versuchen, und verwenden Sienp.round(...)
!Du muss stick zu
importing
es mit*
oder alsnp
durch:Wenn Sie versuchen, den Austausch zwischen mit
np.some_func(...)
und nursome_func(...)
Sie geworfen, ein Fehler an einem gewissen Punkt. Sie wurden in die Irre geführt von anderen Antworten oder die Unterlagen als der standard ist die Verwendungnumpy
alsnp
.InformationsquelleAutor Joe Iddon
Wenn Sie möchten, dass die Ausgabe
das problem ist nicht wirklich ein fehlendes feature von NumPy, sondern vielmehr, dass diese Art der Rundung ist nicht ein standard, was zu tun ist. Sie können Ihre eigenen Rundung Funktion, die erreicht dies etwa so:
Für eine Allgemeine Lösung die Handhabung
0
und negative Werte haben, können Sie etwas wie das hier tun:np.around
stattround
wird es Arbeit für mehrdimensionale arrays.InformationsquelleAutor jmd_dk