Multiply arrays in array with two numbers

Tob*_*s K 2 python numpy python-3.x

I want to mutiply this array of arrays with 1080 and 1920.

[[0.4375, 0.3477366255144033], [0.3599537037037037, 0.676954732510288], [0.5648148148148148, 0.720164609053498], [0.8483796296296297, 0.44238683127572015], [0.8726851851851852, 0.3374485596707819]]
Run Code Online (Sandbox Code Playgroud)

So 0.4375 * 1080 and 0.3477 * 1920

I want to do this for each element.

如何使用Python或numpy执行此操作?

She*_*ore 5

只需将数据转换为数组,然后简单地乘积即可*。这里的技巧是为要与之相乘的两个值创建一维向量。在*然后执行元素方式乘法

import numpy as np

mult = np.array([1080, 1920])
inp = np.array([[0.4375, 0.3477366255144033], [0.3599537037037037, 0.676954732510288], 
                [0.5648148148148148, 0.720164609053498], [0.8483796296296297, 0.44238683127572015], 
                [0.8726851851851852, 0.3374485596707819]])

result = inp*mult
# array([[ 472.5       ,  667.65432099],
#        [ 388.75      , 1299.75308642],
#        [ 610.        , 1382.71604938],
#        [ 916.25      ,  849.38271605],
#        [ 942.5       ,  647.90123457]])
Run Code Online (Sandbox Code Playgroud)

编辑::时间比较两种方法工作类似

%timeit inp*mult
# 2.89 µs ± 365 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

%timeit np.multiply(inp, mult)
# 2.55 µs ± 322 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
Run Code Online (Sandbox Code Playgroud)