我正在尝试创建一个numpy数组,其中随机变量总和为1,但我还想包含负值。
我在尝试:
size =(50,1)
w = np.array(np.random.random(size))
创建数组并填充数字(负数和正数),这样可以正常工作。
现在我正试图将它们总结为1:
w /= np.sum(w)
但是这会改变我的价值观是积极的(消除负面价值)。
像这样做数组的正确方法是什么?
编辑:我已经尝试过random.int和random.uniform,但问题是那些不总结为1.如果我使用w /= np.sum(w)
来确保它们总和为1,它只是返回正值。
答案 0 :(得分:4)
你的问题不是你的标准化,它是你的随机生成器。 class ViewController: UIViewController {
var queue = OperationQueue()
let imageURLs = ["https://amazingslider.com/wp-content/uploads/2012/12/dandelion.jpg", "https://media.treehugger.com/assets/images/2011/10/tiger-running-snow.jpg.600x315_q90_crop-smart.jpg", "https://www.w3schools.com/css/trolltunga.jpg", "https://www.w3schools.com/w3css/img_lights.jpg", "https://cdn.pixabay.com/photo/2015/04/28/20/55/aurora-borealis-744351_960_720.jpg", "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcS2L0pETnybA5sld783iz1mgtOFS8vxBTjB4tYXeRtQWDxig3dc"]
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
}
extension ViewController: UITableViewDelegate, UITableViewDataSource {
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return imageURLs.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell: ImagesTableViewCell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! ImagesTableViewCell
var img: UIImage!
let operation = BlockOperation(block: {
img = Downloader.downloadImageWithURl(self.imageURLs[indexPath.row])
})
operation.completionBlock = {
DispatchQueue.main.async {
cell.imgView?.image = img
}
}
queue.addOperation(operation)
return cell
}
}
class Downloader {
class func downloadImageWithURl(_ url: String) -> UIImage! {
if let data = try? Data(contentsOf: URL(string: url)!) {
return UIImage(data: data)!
}
return nil
}
}
总是从np.random.random
生成正浮点数。如果你想要负数,你就必须改变它。
(0,1)
答案 1 :(得分:1)
没有专门针对此任务的内置函数,但您可以根据预期的大小生成一个数组(最好是2d),然后选择总计为1的数组。
以下是一个例子:
$PRIVATE_DNS.testing.com