Tôi đang tạo ra một mảng 2D của các số nguyên ngẫu nhiên sử dụng NumPy:Làm thế nào để có được mảng các số nguyên ngẫu nhiên của các loại không mặc định trong NumPy
import numpy
arr = numpy.random.randint(16, size = (4, 4))
Đây chỉ là một ví dụ. Mảng tôi đang tạo ra thực sự rất lớn và có kích thước thay đổi. Vì các con số luôn luôn là từ 0 đến 16, tôi muốn tiết kiệm một số không gian và có mảng là loại uint8
. Tôi đã thử những điều sau
arr = numpy.random.randint(16, size = (width, height), dtype = numpy.uint8)
trong một nỗ lực để phù hợp với hành vi của zeros
và ones
, nhưng tôi nhận được lỗi sau:
Traceback (most recent call last):
File "<ipython-input-103-966a510df1e7>", line 1, in <module>
maze = numpy.random.randint(16, size = (width, height), dtype = numpy.uint8)
File "mtrand.pyx", line 875, in mtrand.RandomState.randint (numpy/random/mtrand/mtrand.c:9436)
TypeError: randint() got an unexpected keyword argument 'dtype'
Các tài liệu cho randint()
không đề cập đến bất cứ điều gì về việc có thể đặt loại. Làm cách nào để tạo một mảng ngẫu nhiên với một kiểu số nguyên cụ thể? Tôi không gắn với bất kỳ một chức năng nào, chỉ phân phối đồng đều từ 0 đến 16 thuộc loại uint8
.
Kể từ NumPy 1.11 'randint' hiện có tùy chọn thiếu 'dtype =' này. –
@Hannes. Cảm ơn. Tôi không thể xóa câu hỏi nữa, vì vậy nếu bạn đăng câu trả lời, tôi sẽ chấp nhận câu hỏi đó. –