Chcę utworzyć listę punktów odpowiadającą siatce. Jeśli więc chcę utworzyć siatkę regionu od (0,0) do (1,1), to powinien on zawierać punkty (0,0), (0,1), (1,0), (1, 0).Numpy meshgrid points
Wiem, że można to zrobić za pomocą następującego kodu:
g = np.meshgrid([0,1],[0,1])
np.append(g[0].reshape(-1,1),g[1].reshape(-1,1),axis=1)
uzyskując wynik:
array([[0, 0],
[1, 0],
[0, 1],
[1, 1]])
Moje pytanie jest dwojaki:
- Czy istnieje lepszy sposób robienia tego?
- Czy istnieje sposób uogólnienia tego na wyższe wymiary?
dostałem komunikat o błędzie: 'Traceback (najnowsza rozmowę ostatni): Plik "", wiersz 1, w Plik " \ xxx.py", linia 816, w meshgrid2 SLC [i] = obiektywu [ i] TypeError: obiekt 'map' nie jest plikiem subscriptable 'plik' xxx.py' jest tam, gdzie umieszczam twoją funkcję. –
Prawdopodobnie używasz python3, gdzie mapa zwraca iterator zamiast listy. Najłatwiej zrobić, aby owinąć 'map' w' list': 'lens = list (map (len, arrs))'. –
Powyżej Numpy 1.8 nie ma potrzeby funkcji 'meshgrid2', ponieważ standardowa' meshgrid' obsługuje wyższe wymiary. – fhchl