Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

158
Vistas
Error: el objeto de tipo 'zip' no tiene len() después de agregar un encabezado adicional usando zip

Intento seguir este marco de datos de pandas de enlace con encabezado de 2 filas y exportar a csv para poder crear un encabezado adicional sin eliminar el encabezado original, a continuación se muestra mi codificación:

 df.columns = pd.MultiIndex.from_tuples((zip(df.columns,[uniquevaluesfirstcolumnww, '', uniquevaluesfirstcolumnww1, ' ',uniquevaluesfirstcolumnww2, ' '])))

Recibo un error como este: el objeto de tipo 'zip' no tiene len()

¿Alguien tiene alguna idea? a pesar de que intento agregar la lista antes del zip, pero también fallo.

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Creo que el problema es el object de retorno zip en python 3 , por lo que necesito convertirlo a la list :

 df.columns = pd.MultiIndex.from_tuples((list(zip(df.columns,[uniquevaluesfirstcolumnww, '', uniquevaluesfirstcolumnww1, ' ',uniquevaluesfirstcolumnww2, ' ']))))

Pero parece que necesitas MultiIndex.from_arrays :

 cols = list('abcdef') df = pd.DataFrame([[1,1,1,1,1,1]], columns=cols) print (df) abcdef 0 1 1 1 1 1 1 uniquevaluesfirstcolumnww = 'r' uniquevaluesfirstcolumnww1 = 's' uniquevaluesfirstcolumnww2 = 't' vals = [uniquevaluesfirstcolumnww, '', uniquevaluesfirstcolumnww1, ' ', uniquevaluesfirstcolumnww2, ' '] df.columns = pd.MultiIndex.from_arrays([df.columns, vals]) print (df) abcdef rst 0 1 1 1 1 1 1

Si las columnas tienen MultiIndex también:

 cols = pd.MultiIndex.from_product([['a','b','c'], ['x','y']]) df = pd.DataFrame([[1,1,1,1,1,1]], columns=cols) print (df) abcxyxyxy 0 1 1 1 1 1 1 uniquevaluesfirstcolumnww = 'r' uniquevaluesfirstcolumnww1 = 's' uniquevaluesfirstcolumnww2 = 't' vals = [uniquevaluesfirstcolumnww, '', uniquevaluesfirstcolumnww1, ' ', uniquevaluesfirstcolumnww2, ' '] df.columns = pd.MultiIndex.from_arrays([df.columns.get_level_values(0), df.columns.get_level_values(1), vals]) print (df) abcxyxyxy rst 0 1 1 1 1 1 1
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda