为什么这个函数调用后代码停止执行?

2024-10-01 02:25:56 发布

您现在位置:Python中文网/ 问答频道 /正文

这是主要的代码块

variables = ['V1','V2','V3',...]
caseList = ['C1','C2','C3',...]
exp = {}
conv = {}
result = {}

for case in caseList:
    if case != "Processed":
        load_case(case, dirPath, fileTyp)
        import_rawData(fileTyp)
        convert_units()
        display('Hello')
        merge_Data(case)
        display('Hello')

这是该代码块的输出。在merge_Data()函数调用之后不会执行任何操作

'Case loaded'
'Raw data imported'
'Units converted'
'Hello'
'Data filtered'
'Data merged'

以下是merge_Data和相关filter_expData函数的代码:

def merge_Data(case):
    fexpData = filter_expData(case)

    for var in variables:
        exists = fexpData.get(var,"")

        if len(exists) > 0:
            temp = conv[var]
            temp[var,temp[var].columns[1].replace('Simulation','Experiment')] = pd.Series(fexpData[var].tolist())
            temp[var,'Absolute Error'] = abs(temp[var,temp[var].columns[1]] - temp[var,temp[var].columns[2]])
            temp[var,'Percentage Error'] = temp[var,temp[var].columns[3]] / temp[var,temp[var].columns[2]] * 100

            result[var] = temp

        else:
            result[var] = conv[var]

    display('Data merged')

def filter_expData(case):
    var = next(iter(conv))

    timeList = pd.Series(conv[var].iloc[:,conv[var].columns.get_level_values(1)=="Time (min)"].iloc[:,0].round(3))

    filtExp = exp[case][exp[case]['Time (min)'].round(3).isin(timeList)]

    display('Data filtered')
    return filtExp

您能帮助我理解为什么在merge_Data()函数调用之后代码没有执行吗


Tags: columns代码hellodatavardisplayresultmerge