如何解决如何在 np.average() 时简单地传递权重
我对将权重传递给 np.average() 函数感到困惑。下面的例子:
import numpy as np
weights = [0.35,0.05,0.6]
abc = list()
a = [[ 0.5,1],[ 5,7],[ 3,8]]
b = [[ 10,[ 0.5,[ 0.7,0.2]]
c = [[ 10,12],13],0.7]]
abc.append(a)
abc.append(b)
abc.append(c)
print(np.average(np.array(abc),weights=[weights],axis=0))
OUT:
TypeError: 1D weights expected when shapes of a and weights differ.
我知道形状各不相同,但是如何不做任何事情而简单地添加权重列表
np.average(np.array(abc),weights=[weights[0],weights[1],weights[2]],...,axis=0)
因为我正在执行一个循环,其中权重因大小而异。
输出:像这样的加权数组:
OUT:
[[6.675,7.6],[ 2.075,10.3],[ 4.085,3.23]]
*average(a * weights[0] + b * weights[1] + c * weights[2])*
欢迎任何其他解决方案。
解决方法
不确定第一个元素怎么可能是 4.675?
weights = [0.35,0.05,0.6]
a = [[ 0.5,1],[ 5,7],[ 3,8]]
b = [[ 10,[ 0.5,[ 0.7,0.2]]
c = [[ 10,12],13],0.7]]
abc=[a,b,c]
print(np.average(np.array(abc),weights=weights,axis=0))
,
您的 bluetooth.writeBytes(utf8.encode("CÔNG TY CỔ PHẦN ĐẦU TƯ XÂY DỰNG DƯƠNG KINH"));
数组的形状为 (1,3,2)。因此,要么像@BingWang 建议的那样更改 abc
或使用 axis=1
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。