【问题标题】:Loop and multiply 3 different numpy arrays by random percents which add up to 100%循环并将 3 个不同的 numpy 数组乘以随机百分比,加起来为 100%
【发布时间】:2021-03-22 13:02:36
【问题描述】:

假设我有这三个数组。

array1 = np.array([4,5,6])
array2 = np.array([3,2,1])
array3 = np.array([2,3,5])

我想创建一个循环,将每个数组乘以一个随机百分比,但三个百分比之和必须为 100%。例如,在第一个循环中,它可能会执行以下操作

array1 * 30%
array2 * 20%
array3 * 50%

在第二个循环中,它为每个数组执行不同的随机百分比

array1 * 15%
array2 * 90%
array3 * 5%

如果有人对如何使这个循环成为可能有任何想法,请告诉我。谢谢!

【问题讨论】:

    标签: numpy for-loop math random numpy-ndarray


    【解决方案1】:

    既然你要求循环:

    for _ in range(10):
        weights = np.random.rand(3)
        weights = weights/weights.sum()
    
        # multiply
        array1 * weights[0]
        ....
    

    【讨论】:

    • 传奇。谢谢广!
    猜你喜欢
    • 2013-09-10
    • 2022-10-13
    • 2014-08-17
    • 1970-01-01
    • 2015-02-27
    • 1970-01-01
    • 1970-01-01
    • 2018-10-29
    • 2016-12-10
    相关资源
    最近更新 更多