首页 > 解决方案 > 如何最好地加入/合并列上的两个熊猫数据框(pandas.core.series.Series 和 pandas.core.frame.DataFrame)

问题描述

我正在尝试基于公共列 ( ) 加入/合并两个数据框 (df_apply和)。听起来很简单,但是其中一个数据框具有列类型,而另一个具有列类型。这会导致合并(导致错误:df_resultnamepandas.core.series.Seriespandas.core.frame.Dataframepd.merge(df_apply, df_result, on='name')

ValueError: The column label 'name' is not unique. For a multi-index, the label must be a tuple with elements corresponding to each level.

删除两个表的索引后,我能够加入( df_apply.join(df_result)) 表,但这会导致数据框具有奇怪的列名,以任何方式都无法访问 - 列名变为 (sbt,) (​​gra,) (pot, ) (oni,) (wwh,) (class_max,) (prob_max,) (tf_time,) (name,) (processing_time,)。

我尝试将其转换pandas.core.series.Seriespandas.core.frame.Dataframe这样的:

但最终的结果type(df_apply.name)是 always:pandas.core.series.Series的结果type(df_result.name)是 always pandas.core.frame.DataFrame

两个数据框(每个数据框各一行)如下所示:

df_result: df_apply

df_apply: df_result 我希望能够根据名称轻松连接这些表,但是这种讨厌的 pandas 列类型结构让它变得非常困难。怎么做?

更新:

我通过将 csv 导出df_result并再次导入来解决了这个问题。此时,两列的列类型均为pandas.core.series.Series. 我希望这会有所帮助,但仍然没有回答我的问题,即如何在不这样做的情况下加入这些表格......?

标签: pandasdataframepython-3.5series

解决方案


推荐阅读