Estoy tratando de hacer un pandas de mezcla y obtener el error anterior desde el título cuando trato de ejecutarlo. Estoy usando 3 columnas para que coincidan mientras que justo antes de hacer la combinación similar en sólo 2 columnas y funciona bien.

df = pd.merge(df, c, how="left",
        left_on=["section_term_ps_id", "section_school_id", "state"],
        right_on=["term_ps_id", "term_school_id", "state"])

columnas para los dos dataframes

df:

Índice([u’section_ps_id’, u’section_school_id’, u’section_course_number’, u’secti
on_term_ps_id’, u’section_staff_ps_id’, u’section_number’, u’section_expression’
u’section_grade_level’, u state’, u’sections_id’, u’course_ps_id’, u’course_sc
hool_id’, u’course_number’, u’course_schd_dept’, u’courses_id’, u’school_ps_id’,
u’course_school_id’, u’school_name’, u’school_abbr’, u’school_low_grade’, u’sch
ool_high_grade’, u’school_alt_school_number’, u’school_state’, u’school_phone’,
u’school_fax’, u’school_principal’, u’school_principal_phone’, u’school_principa
l_email’, u’school_asst_principal’, u’school_asst_principal_phone’, u’school_ass
t_principal_email’], dtype=’object’)

c:

Índice([u’term_ps_id’, u’term_school_id’, u’term_portion’,
u’term_start_date’, u’ term_end_date’, u’term_abbreviation’,
u’term_name’, u state’, u’terms_id’, u’sch ool_ps_id’,
u’term_school_id’, u’school_name’, u’school_abbr’, u’school_low_grad
e’, u’school_high_grade’, u’school_alt_school_number’,
u’school_state’, u’school
_phone’, u’school_fax’, u’school_principal’, u’school_principal_phone’, u’school
_principal_email’, u’school_asst_principal’, u’school_asst_principal_phone’, u chool_asst_principal_email’],
dtype=’object’)

Es posible combinar en tres columnas como esta? ¿Hay algo malo a partir de la combinación de la llamada aquí?

  • Parece que tienes dos columnas idénticas "term_school_id" en que c dataframe… eliminar uno o cambiar el nombre para evitar la duplicación de nombre.
InformationsquelleAutor lathomas64 | 2014-11-21

3 Comentarios

  1. 37

    Como se ha mencionado en los comentarios, tienes un duplicado de la columna:

    Los Pandas de mezcla dando error

    • Cómo eliminar la duplicación de la columna..?
    • deje caer por índice)
    • su sugerencia debe ser incluido en la respuesta, ya que es la manera de solucionar el problema 😉
  2. 2

    A la dirección de la cuestión de la víctima columnas puede quitar el engañar a la columna mediante duplicado con algo. como:

    c = c[~c.columns.duplicated(keep='first')]

    o añadir un char a uno de los DataFrames usando, por ejemplo:
    c.columns=[c.columns[i]+str(i) for i in range(len(c.columns))]

    Tener en cuenta que en este caso se debe ajustar la fusión de parte

  3. 2

    Esto elimina la duplicación de las columnas de la Dataframe

    df = df[list(df.columns[~df.columns.duplicated()])]

Dejar respuesta

Please enter your comment!
Please enter your name here