在Python3.6上我有:
在运行时期间不会更改的信号列表:
signalList = ['signal1', 'signal2', 'signal3', ..]
信号词典及其价值的矩阵:
signalDict = {1: { sig1: 8, sig2 : 7, sig3 : 6, sig4 : 8}, 2: {sig1: 5, sig2 : 5, sig3 : 5, sig4 : 5}... }
一个映射字典,用于定义如何计算信号外的信号
backendSignalDict = {
'signal1': signal1Function,
'signal2': signal2Function,
'signal3': signal3Function
}
def signal1Function():
val = signalDict[sig1] + signalDict[sig2]
return val
def signal2Function():
val = signalDict[sig3] + signalDict[sig4]
return val
.....
def applyFunction():
try:
for signal in signalList:
newVal = backendSignalDict[signal](signalDict)
return newVal
我想做以下事情: 迭代signalDict: 对于每个键(=矩阵中的行),应该调用apply函数 signalList,signalDict和backendSignalDict作为参数。
在Apply中:对于signalList中的每个头(Signal):在backendSignalDict中查找如何计算和使用signalDict的信号和值来计算它们。将newSignalList作为dataframe返回: 列保持不变:[' signal1',' signal2',' signal3',..]但是作为行的计算值..
如何调用apply以便可以访问signalDict和backendSignalDict? - >如何为applyFunction提供参数?
signalListNew = signalList.apply(applyFunction,axis = 1)
如何在applyFunction中使用来自signalList的标题(信号)?或者我应该将标题复制为值,以便我可以使用值来搜索backendSignalDict? 我怎样才能做到这一点?