Dengan Python, bagaimana cara membuat array numpy dengan bentuk acak yang diisi dengan semua Benar atau semua Salah?
numpy sudah memungkinkan pembuatan array semua atau semua nol dengan sangat mudah:
misalnya numpy.ones((2, 2))
ataunumpy.zeros((2, 2))
Karena True
dan False
diwakili dalam Python sebagai 1
dan 0
, masing-masing, kita hanya perlu menentukan array ini harus boolean menggunakan dtype
parameter opsional dan kita selesai.
numpy.ones((2, 2), dtype=bool)
pengembalian:
array([[ True, True],
[ True, True]], dtype=bool)
PEMBARUAN: 30 Oktober 2013
Sejak numpy versi 1.8 , kita dapat menggunakan full
untuk mencapai hasil yang sama dengan sintaks yang lebih jelas menunjukkan niat kita (seperti yang ditunjukkan fmonegaglia):
numpy.full((2, 2), True, dtype=bool)
PEMBARUAN: 16 Januari 2017
Karena setidaknya numpy versi 1.12 , full
secara otomatis melemparkan hasil ke dtype
parameter kedua, jadi kita bisa menulis:
numpy.full((2, 2), True)
a=np.ones((2,2))
diikuti dengana.dtype=bool
TIDAK bekerja.sumber
ones
danzeros
tidak membangun array bilangan bulat. Mereka membangun array bools secara langsung.numpy.full((2,2), True)
setara?int 1
kebool True
.ones
danzeros
, yang masing-masing membuat array penuh satu dan nol, ambildtype
parameter opsional :sumber
Jika tidak harus dapat ditulisi, Anda dapat membuat array dengan
np.broadcast_to
:Jika Anda membutuhkannya dapat ditulisi, Anda juga dapat membuat array kosong dan
fill
itu sendiri:Pendekatan-pendekatan ini hanyalah saran alternatif. Secara umum Anda harus tetap dengan
np.full
,np.zeros
ataunp.ones
seperti yang disarankan jawaban lain.sumber
Cepat jalankan timeit untuk melihat, jika ada perbedaan antara versi
np.full
dannp.ones
.Jawab: Tidak
Hasil:
PENTING
Mengenai pos tentang
np.empty
(dan saya tidak dapat berkomentar, karena reputasi saya terlalu rendah):JANGAN LAKUKAN ITU. JANGAN GUNAKAN
np.empty
untuk menginisialisasi semua-True
arrayKarena array kosong, memori tidak ditulis dan tidak ada jaminan, seperti apa nilai Anda, misalnya
sumber
numpy.full (Ukuran, Nilai Skalar, Jenis). Ada juga argumen lain yang dapat diajukan, untuk dokumentasi tentang itu, periksa https://docs.scipy.org/doc/numpy/reference/generated/numpy.full.html
sumber
np.full
- lebih dari satu tahun yang lalu!