首页 > 解决方案 > 分配给 pd.DataFrame 的列在另一个 pd.DataFrame 中重复

问题描述

我有以下代码和平:

predictions_dict['AE'] = predictions_df
errors_dict['AE'] = (train_with_nan_df.iloc[1:] - predictions_dict['AE'])
errors_dict['AE']['MSE'] = np.nanmean(np.power(errors_dict['AE'], 2), axis=1)

我正在使用字典来存储来自一些不同模型的预测和错误。当我运行下面的代码时,我得到errors_dict['AE']['MSE']predictions_dict['AE']['MSE']都分配了值,而这应该只是errors_dict的情况。

作为附加信息 I,如预期的那样,原始predictions_df没有显示 MSE 条目。你能解释一下python内部的逻辑吗?以及如何解决?

我尝试使用 .copy() 获得相同的结果。

标签: pythonpandas

解决方案


简单的回答,我将字典定义如下:

errors_dict = predictions_dict = dict()

我认为它创建了 2 个独立的空字典,但似乎并非如此。我只是将其更改为:

errors_dict = dict()
predictions_dict = dict()

推荐阅读