Я пытаюсь объединить / объединить два кадра данных (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,) (гра,) (банк,) (они,) (wwh,) (класс_макс.) (prob_max,) (tf_time,) (имя,) (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)
всегда равен: pandas.core.series.Series
, а результат type(df_result.name)
всегда равен pandas.core.frame.DataFrame
.
Два кадра данных (по одной строке каждого) выглядят так:
df_result:

df_apply:
Я ожидаю, что смогу легко присоединиться к этим таблицам, основываясь на названии, но эти противные структуры типа столбцов панд делают это очень трудным Как можно это сделать?
UPDATE:
Я решил проблему, экспортировав df_result
в csv и импортировав его снова. На данный момент оба столбца имеют типы столбцов pandas.core.series.Series
. Я надеюсь, что это поможет, но все еще не отвечает на мой вопрос о том, как присоединиться к таким таблицам без этого ...?