Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:在两个回调之间共享结果_Python_Callback_Chained - Fatal编程技术网

Python:在两个回调之间共享结果

Python:在两个回调之间共享结果,python,callback,chained,Python,Callback,Chained,假设我为一个模拟定义了两个回调。第一个(preStep)描述了在模拟时间步之前如何处理数据,另一个(POSTEP)描述了在模拟时间步之后如何处理数据。 在回调“preStep”时,我创建了一个包含多个模型信息的熊猫数据框,如x、y坐标和一些观测点的高程,如下所示(以节点作为索引列): 我想与另一个回调“postStep”共享此数据帧,在这里我想比较两者并评估由于模拟时间步长引起的高程变化。 我尝试了以下方法来实现我的比较主义(只是你看到了我在用这些东西做什么) 但是当输入上述代码时,它抛出一个“

假设我为一个模拟定义了两个回调。第一个(preStep)描述了在模拟时间步之前如何处理数据,另一个(POSTEP)描述了在模拟时间步之后如何处理数据。 在回调“preStep”时,我创建了一个包含多个模型信息的熊猫数据框,如x、y坐标和一些观测点的高程,如下所示(以节点作为索引列):

我想与另一个回调“postStep”共享此数据帧,在这里我想比较两者并评估由于模拟时间步长引起的高程变化。
我尝试了以下方法来实现我的比较主义(只是你看到了我在用这些东西做什么)

但是当输入上述代码时,它抛出一个“NameError:名称'df_pre_data'未定义”。
我想要的输出如下所示:

>>> df_post_data

     X     Y     Elevation   last_value   check   FLAG
NODE
0    5.0   0.0   1.8         1.0          0.8     False
1    6.5   1.5   5.5         3.0          2.5     True
2    8.0   3.0   4.1         5.0          0.9     False
我希望你看到我想去的地方

我现在的问题是,我无法访问回调“postStep”时的“preStep”数据帧。看起来这些回调无法访问彼此的结果。
根据这篇文章:我尝试在回调中定义我的函数,并将它们相互链接。
这不起作用,还有其他的可能性吗?还是我需要找到一种方法来实现这个链接答案,因为这是唯一的方法

df_post_data['last_value'] = df_pre_data['Elevation']
df_post_data['check'] = df_post_data.apply(lambda row: row['Elevation'] - row['last_value'], axis=1)
df_post_data['FLAG'] = np.where((df_post_data['check'].abs() >= 1), True, False)
>>> df_post_data

     X     Y     Elevation   last_value   check   FLAG
NODE
0    5.0   0.0   1.8         1.0          0.8     False
1    6.5   1.5   5.5         3.0          2.5     True
2    8.0   3.0   4.1         5.0          0.9     False