W Pythonie, w jaki sposób mogę utworzyć tablicę liczb dowolnych o dowolnym kształcie wypełnioną wszystkimi Prawdą lub Wszystkimi False?
194
numpy już teraz pozwala bardzo łatwo tworzyć tablice wszystkich zer lub jedynek:
np. numpy.ones((2, 2))
lubnumpy.zeros((2, 2))
Ponieważ True
i False
są reprezentowane w Pythonie jako 1
i 0
, musimy tylko określić, że ta tablica powinna być logiczna przy użyciu opcjonalnego dtype
parametru i gotowe.
numpy.ones((2, 2), dtype=bool)
zwroty:
array([[ True, True],
[ True, True]], dtype=bool)
AKTUALIZACJA: 30 października 2013 r
Od wersji 1.8 Numpy możemy full
osiągnąć ten sam wynik dzięki składni, która lepiej pokazuje nasze zamiary (jak wskazuje fmonegaglia):
numpy.full((2, 2), True, dtype=bool)
AKTUALIZACJA: 16 stycznia 2017 r
Od wersji co najmniej numpy 1.12 , full
automatycznie rzutuje wyniki dtype
na drugi parametr, więc możemy po prostu napisać:
numpy.full((2, 2), True)
a=np.ones((2,2))
po nima.dtype=bool
NIE działa.źródło
ones
izeros
nie konstruują tablicy liczb całkowitych. Bezpośrednio budują tablicę booli.numpy.full((2,2), True)
odpowiednikiem?int 1
dobool True
.ones
izeros
, które tworzą tablice pełne odpowiednio zer i jedynek, przyjmują opcjonalnydtype
parametr:źródło
Jeśli nie musi być zapisywalny, możesz utworzyć taką tablicę za pomocą
np.broadcast_to
:Jeśli potrzebujesz zapisu, możesz także utworzyć pustą tablicę i
fill
samodzielnie:Te podejścia są tylko alternatywnymi sugestiami. W ogóle należy trzymać się z
np.full
,np.zeros
lubnp.ones
jak inni sugerują odpowiedzi.źródło
Szybko sprawdziłem, czy są jakieś różnice między wersją
np.full
anp.ones
wersją.Odpowiedź: Nie
Wynik:
WAŻNY
Jeśli chodzi o post o
np.empty
(i nie mogę komentować, ponieważ moja reputacja jest zbyt niska):NIE Rób tego. NIE UŻYWAJ
np.empty
do zainicjowaniaTrue
tablicy all- arrayPonieważ tablica jest pusta, pamięć nie jest zapisywana i nie ma gwarancji, jakie będą twoje wartości, np
źródło
numpy.full (rozmiar, wartość skalarna, typ). Istnieją również inne argumenty, które można przekazać, w celu uzyskania dokumentacji na ten temat sprawdź https://docs.scipy.org/doc/numpy/reference/generated/numpy.full.html
źródło
np.full
- ponad rok temu!