Ich möchte die Liste der Punkte erstellen, die einem Raster entsprechen würde. Wenn ich also ein Gitter der Region von (0,0) bis (1,1) erstellen möchte, würde es die Punkte (0,0), (0,1), (1,0), (1, 0).Numpy Meshgrid Punkte
Ich weiß, daß dies mit dem folgenden Code durchgeführt werden kann:
g = np.meshgrid([0,1],[0,1])
np.append(g[0].reshape(-1,1),g[1].reshape(-1,1),axis=1)
Nachgeben das Ergebnis:
array([[0, 0],
[1, 0],
[0, 1],
[1, 1]])
Meine Frage ist zweifach:
- Gibt es eine bessere Art und Weise dies zu tun?
- Gibt es eine Möglichkeit, dies zu höheren Dimensionen zu verallgemeinern?
Ich habe eine Fehlermeldung: 'Traceback (jüngste Aufforderung zuletzt): File "" Linie 1 in File " \ xxx.py", Linie 816, in meshgrid2 slc [i] = Objektiv [ i] TypeError: 'map' -Objekt ist nicht subscriptfähig 'file' xxx.py' ist der Ort, an den ich Ihre Funktion einfüge. –
Wahrscheinlich verwenden Sie python3, wobei map einen Iterator statt einer Liste zurückgibt. Am einfachsten ist es, 'map' in' list' zu schreiben: 'lens = list (map (len, arrs))'. –
Oberhalb von Numpy 1.8 ist die Funktion 'meshgrid2' nicht erforderlich, da das Standard' meshgrid' höhere Dimensionen unterstützt. – fhchl