2016-04-05 2 views
-1
import numpy as np 
a7=np.empty(100) 
a7[0:14]=6 
a7[15:60]=4 
a7[61:73]=5 
a7[74:99]=6 
print a7 

DannWarum habe ich absurde Werte mit Nympy-Arrays?

[ 6.00000000e+000 6.00000000e+000 6.00000000e+000 6.00000000e+000 
    6.00000000e+000 6.00000000e+000 6.00000000e+000 6.00000000e+000 
    6.00000000e+000 6.00000000e+000 6.00000000e+000 6.00000000e+000 
    6.00000000e+000 6.00000000e+000 6.95215775e-310 4.00000000e+000 
    4.00000000e+000 4.00000000e+000 4.00000000e+000 4.00000000e+000 
    4.00000000e+000 4.00000000e+000 4.00000000e+000 4.00000000e+000 
    4.00000000e+000 4.00000000e+000 4.00000000e+000 4.00000000e+000 
    4.00000000e+000 4.00000000e+000 4.00000000e+000 4.00000000e+000 
    4.00000000e+000 4.00000000e+000 4.00000000e+000 4.00000000e+000 
    4.00000000e+000 4.00000000e+000 4.00000000e+000 4.00000000e+000 
    4.00000000e+000 4.00000000e+000 4.00000000e+000 4.00000000e+000 
    4.00000000e+000 4.00000000e+000 4.00000000e+000 4.00000000e+000 
    4.00000000e+000 4.00000000e+000 4.00000000e+000 4.00000000e+000 
    4.00000000e+000 4.00000000e+000 4.00000000e+000 4.00000000e+000 
    4.00000000e+000 4.00000000e+000 4.00000000e+000 4.00000000e+000 
    6.95215673e-310 5.00000000e+000 5.00000000e+000 5.00000000e+000 

An jedem Übergang dieser abnormalen Wert appears.Or sein kann ich das Array in einer anderen Art und Weise ausfüllen sollte? War meine Idee Array mit 100 Elementen zu erstellen und sie füllen oben gezeigt Weise.

+0

Welcher Übergang? Hast du vergessen, uns zu sagen, was du mit dem Array machst, nachdem du es initialisiert hast? –

Antwort

2
a7[0:14] = 6 #from 0 to 13, 14 excluded 
a7[15:60] = 4 #from 15 to 60, 60 excluded etc. 

Beim Schneiden, 2. Parameter ausgeschlossen ist, so dass Sie von 14. bis 60.-73.-99. Elemente des Arrays fehlen und Python ordnet sie etwas wirklich nahe Null, da Sie ein leeres Array erstellt.

0

Zuerst wissen Sie, dass der Stop-Wert einer Scheibe exklusiv ist. Sie initialisieren also die Elemente 14, 60, 73 und 99 nicht.

Zweitens initialisiert die Elemente nicht, daher möchten Sie np.zero verwenden, um alle Elemente zunächst auf 0 zu setzen.

0

a [0:14] füllt 14 Werte - 0 ... 13. a [15:35] füllt 15 ... 35. In Ihrem Code ist a [14] also nicht zugewiesen, und was auch immer in dieser Speicheradresse war, bleibt dort. Das ist der Wert, den Sie sehen.

Verwandte Themen