pandas - 如何最好地加入/合并列上的两个熊猫数据框(pandas.core.series.Series 和 pandas.core.frame.DataFrame)
问题描述
我正在尝试基于公共列 ( ) 加入/合并两个数据框 (df_apply
和)。听起来很简单,但是其中一个数据框具有列类型,而另一个具有列类型。这会导致合并(导致错误:df_result
name
pandas.core.series.Series
pandas.core.frame.Dataframe
pd.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.Series
为pandas.core.frame.Dataframe
这样的:
df_apply.name = df_apply.name.rename(None).to_frame()
df_apply.name = df_apply.name.to_frame()
但最终的结果type(df_apply.name)
是 always:pandas.core.series.Series
的结果type(df_result.name)
是 always pandas.core.frame.DataFrame
。
两个数据框(每个数据框各一行)如下所示:
df_result:
df_apply: 我希望能够根据名称轻松连接这些表,但是这种讨厌的 pandas 列类型结构让它变得非常困难。怎么做?
更新:
我通过将 csv 导出df_result
并再次导入来解决了这个问题。此时,两列的列类型均为pandas.core.series.Series
. 我希望这会有所帮助,但仍然没有回答我的问题,即如何在不这样做的情况下加入这些表格......?
解决方案
推荐阅读
- python - 返回类型:如果在函数中有条件调用 sys.exit()
- r - 根据一列作为键删除总和为零的行
- google-sheets - 获取每月金额的总和 - Google 表格
- angular - ion-back-button 从 C 跳过 B 回到页面 A - ionic 5
- python - 为什么我的 Tkinter 按钮图像没有更新?
- python - 如何从深度相机获取世界系统中的深度坐标
- c++ - TextOut 到设备上下文的中心
- typescript - 打字稿参数相互依赖
- java - 编译器运行没有输出
- c# - Entity Framework Core 3.1.5:如何从 linq 查询中取出表集合逻辑以避免客户端评估错误?