Chcę utworzyć normalną rozproszoną tablicę z numpy.random.normal, która składa się tylko z wartości dodatnich. Na przykład poniższe ilustruje, że czasami daje wartości ujemne, a czasem dodatnie. Jak mogę go zmodyfikować, aby przywracał tylko wartości dodatnie?Python numpy.random.normal tylko pozytywne wartości
>>> import numpy
>>> numpy.random.normal(10,8,3)
array([ -4.98781629, 20.12995344, 4.7284051 ])
>>> numpy.random.normal(10,8,3)
array([ 17.71918829, 15.97617052, 1.2328115 ])
>>>
Chyba mogę go rozwiązać jakoś tak:
myList = numpy.random.normal(10,8,3)
while item in myList <0:
# run again until all items are positive values
myList = numpy.random.normal(10,8,3)
Co masz na myśli przez 'tylko oddać wartości dodatnie'? Co chcesz zrobić, jeśli zwróci wartość ujemną? – Patashu
Chciałbym zmodyfikować kod tak, aby zwracał tylko wartości dodatnie. – ustroetz
Z definicji rozkład normalny rozciąga się na wszystkie możliwe wartości, dodatnie i ujemne. Nie można pogodzić "rozkładu normalnego" z "tylko wartościami dodatnimi", więc moje pytanie do ciebie jest ... czego NAPRAWDĘ chcesz? – Patashu