不幸的是,我无法共享用于此问题的实际数据,因此请耐心等待,尝试使用通用示例来帮助解释我所看到的错误。
我有两个数据框,我们将它们分别称为list.
和df_local
,我需要将其合并以完全了解数据库中的数据。 df_global
大约有16列,其中最相关的是:df_global
。 ['observation_id', 'min', 'max']
有4列,df_local
。但是,在两个数据帧之间,['observation_id', 'local_id', 'min', 'max']
相同,但是observation_id
和min
的含义不同。在max
中,df_local
和min
是局部最小值和最大值,而max
中的min
和max
是实际的最小值和最大值该观察的整个数据集。
当我使用以下代码行合并两个数据框时:
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')