大熊猫:重命名列上合并缓冲区错误

时间:2019-02-04 18:25:48

标签: python pandas dataframe merging-data

不幸的是,我无法共享用于此问题的实际数据,因此请耐心等待,尝试使用通用示例来帮助解释我所看到的错误。

我有两个数据框,我们将它们分别称为list.df_local,我需要将其合并以完全了解数据库中的数据。 df_global大约有16列,其中最相关的是:df_global['observation_id', 'min', 'max']有4列,df_local。但是,在两个数据帧之间,['observation_id', 'local_id', 'min', 'max']相同,但是observation_idmin的含义不同。在max中,df_localmin是局部最小值和最大值,而max中的minmax是实际的最小值和最大值该观察的整个数据集。

当我使用以下代码行合并两个数据框时:

df_global

我没有任何错误,df = pd.merge(df_global, df_local, on = 'observation_id', how = 'outer')返回了列df。很好。除了在合并之前我想重命名列,以便知道哪个是局部的,哪个是全局的,这是什么。

但是,当我将['min_x','max_x', 'min_y','max_y']的列重命名为df_local时,合并时出现以下错误:

['observation_id', 'local_id', 'local_min', 'local_max']

这类似于this error here,因此我检查以确保在两个数据框中都没有重复的列。我不。同样,仅当我尝试在合并之前重命名ValueError: Buffer has wrong number of dimensions (expected 1, got 2) 的列时,才会发生此错误。当我不重命名列时,不会出现错误。

我不知道发生了什么,并在互联网上寻找帮助,甚至问到处理这些数据的常驻python专家可能是什么问题。我们都被困住了。

我很抱歉无法提供实际数据来显示操作中的错误,但我希望描述足以使某人有解决方案。

编辑:

这是我可以显示的脚本。

有效方法:

df_local

什么不起作用:

df = pd.merge(df_global, df_local, on = 'observation_id', how = 'outer')

0 个答案:

没有答案