谢谢各位 比如数据 有 1 2 3 4 5 6 7 8 9 10 11 一直到 n 列 如何取某4列进行加权平均?
权重为 【 A B C D】
如 新一列 = 1 X A + 4X B +7 * C + 10*D
新二列 = 2 X A + 5 X B + 6 * C + 11 * D
您好 加权的列是这样的
d2m_NE t2m_NE …… d2m_NW t2m_NW …… d2m_SE t2m_SE …… d2m_SW t2m_SW
把所有前缀为d2m的四个列数据进行加权平均 成为新列 把所有 t2m四个列数据进行加权平均 成为新列 以此类推
用来加权平均的列是一定要包含自身吗?还是这个n列的随机四列,不一定会包含自身
import random
listN = [1,2,3,4,5,6,7,8,9,10,11]
A,B,C,D = 0.2,0.1,0.4,0.2
weight = [A,B,C,D]
res = []
# 使用random的choice,随机的选取4个值
for i in range(len(listN) - 1):
# 先随机的选四个值
val1 = random.choices(listN,k=4)
s = sum(map(lambda a,b:a * b,val1,weight))
res.append(s)
print("新列: {}".format(res))
如果觉得答案对你有帮助,请点击下采纳,谢谢~