试试下面写法:
x = `fa1`fa2`fa3
y = (t1,t2,t3)
d = dict(x,y)
N=take(1\3,3)
def getVal(tb, colName, weight){
return tb[colName]*weight
}
rowSum(each(getVal,d.values(),d.keys(),N))
请问一下,我有一个字典datadict,key是fa1,fa2,,faN,value是对应的表。如下图:
有没有什么办法可以快速的把每一个表乘一个权重值(已给出)然后全部加在一起?其中这些表大小相同,每个都是三列,前两列是datetime,symbol,第三列是自己的名称,想要对自己名称这一列进行加权相加,普通的做法就是temp = lj(a1,a2),temp = lj(temp,a3)....... 但若这样写,因为表多就会写很多行,有没有比较简洁方便的方法?
lj完之后还有一个乘权重相加的操作,所以我在想能不能把这一步操作也加到里面了,权重就是一个N长度的向量,N是表的个数,并且我现在是把这N个表放在字典里,这样比较简洁,字典的key就是表里第3列的列名,value就是表。