我有一个2d-numpy数组(28x28),想为所有小于50的索引设置随机值。我尝试了一些方法:
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<div>
<h4>Liniensicherungen</h4>
<div class="form-group ">
<label for="cbxGrundliniensicherung" class="col-sm-6 col-form-label">Mit Grundliniensicherung:</label>
<div class="col-sm-6 paddingRadioBtn">
<input type="checkbox" class="form-control"aria-label="Text input with checkbox" name="cb_mit_grund_liniensicherung_runs_show" id="cbxGrundliniensicherung">
</div>
<div>
<div>
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="customCheck1">
<label class="custom-control-label" for="customCheck1">Check this custom checkbox</label>
</div>
这不能正常工作,因为所有选定的索引都获得相同的随机值。 我想使用不同的随机值。
myarray[myarray < 50] = random.randint(80,100)
上面的代码正在解决问题,但是我认为它不能有效地工作,因为对于大型数据集,它变得非常慢。
还有更好的功能吗?
答案 0 :(得分:1)
首先,使用np.random.uniform
代替。参见Generate random array of floats between a range
然后
myarray[myarray < 50] = np.random.uniform(low=80, high=100,
size=myarray[myarray < 50].shape)