Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

225
Visualizações
Error: object of type 'zip' has no len() after adding extra header by using zip

I try to follow this link pandas dataframe with 2-rows header and export to csv in order for me to created extra header without remove the original header, below is my coding:

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

I get the error such as this: object of type 'zip' has no len()

Anyone have any idea? even though I try to add list before zip but fail also.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

I think problem is zip return object in python 3, so need convert to list:

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

But is seems you need MultiIndex.from_arrays:

cols = list('abcdef')
df = pd.DataFrame([[1,1,1,1,1,1]], columns=cols)
print (df)
   a  b  c  d  e  f
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)
   a  b  c  d  e  f
   r     s     t   
0  1  1  1  1  1  1

If columns have MultiIndex also:

cols = pd.MultiIndex.from_product([['a','b','c'], ['x','y']])
df = pd.DataFrame([[1,1,1,1,1,1]], columns=cols)
print (df)
   a     b     c   
   x  y  x  y  x  y
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)
   a     b     c   
   x  y  x  y  x  y
   r     s     t   
0  1  1  1  1  1  1
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda