Saltar para o conteúdo
  • YouTube
  • FaceBook
  • Twitter
  • Instagram

Data Analytics Portugal

Análise de Dados e Tutoriais em Vídeo

  • Início
  • Contato
  • Sobre nós
    • O mais recente
    • Escreva para nós
    • Saiba mais informações sobre o nosso site
  • Ligações úteis
  • Glossário
  • Todas as categorias
  • Faq
  • Livestream
  • Alternar o formulário de pesquisa
  • Qual é a diferença entre CHAR e VARCHAR2 em SQL? SQL
  • Tutorial Python: Como ordenar listas Listas Python
  • seleccionar linhas com um certo valor usando SQL SQL
  • Como remover caracteres de um ficheiro CSV importado Tutorial Python
  • O que é que um analista de dados faz? Livestream
  • O que são Variáveis Locais e Globais em Python? Python
  • Listas de canais do YouTube - Python Lists Listas Python
  • IndexError: o índice 2 está fora dos limites para o eixo 0 com tamanho 2 Erro do Índice

ValueError: As colunas devem ter o mesmo comprimento que a chave

Posted on 21 de Setembro de 202212 de Fevereiro de 2023 Por admin

Tempo estimado de leitura: 3 atas

Está à procura de aprender píton, e no processo a deparar-se com este erro e a tentar compreender porque é que ele ocorre?

Em essência, isto ocorre normalmente quando se tem mais do que um quadro de dados e no processo de escrita do programa se tenta utilizar os quadros de dados e os seus dados, mas há uma descoordenação no número de itens em cada um que o programa não pode processar até que seja corrigido.

Um cenário comum em que isto pode acontecer é quando se está a juntar quadros de dados ou a dividir os dados, estes serão demonstrados abaixo.

Cenário 1 - Junção de quadros de dados

Onde temos df1[['a']] = df2 estamos a atribuir os valores do lado esquerdo do sinal de igual ao que está do lado direito.

Quando olhamos para o lado direito, tem três colunas, o lado esquerdo tem uma.

Como resultado, o erro "ValueError": As colunas devem ter o mesmo comprimento que a chave" aparecerá, de acordo com o abaixo indicado.

import pandas as pd

list1 = [1,2,3]
list2 = [[4,5,6],[7,8,9]]

df1 = pd.DataFrame(list1,columns=['column1'])
df2 = pd.DataFrame(list2,columns=['column2','column3','column4'])

df1[['a']] = df2

O código acima atira o erro abaixo:

O objectivo aqui é ter todas as colunas do lado direito, ao lado das colunas do lado esquerdo, como se segue:

O que fizemos foi tornar ambos os lados iguais no que diz respeito ao número de colunas a mostrar a partir de df2
Essencialmente estamos a pegar na coluna da DF1, e depois a trazer as três colunas da DF2.
A columna, columnb, columnc abaixo correspondem às três colunas da DF2, e armazenará os dados das mesmas.

A correcção para esta edição é: df1[[['columna','columnb','columnc']] = df2

imprimir (df1)

Cenário 2 - Separação de dados

Pode haver uma ocasião em que se tenha uma lista de pitões, e é necessário dividir os valores dessa lista em colunas separadas.

new_list1 = ['1 2 3']
df1_newlist = pd.DataFrame(new_list1,columns=['column1'])

No acima exposto, criámos uma lista, com três valores que fazem parte de uma cadeia. Aqui o que procuramos fazer é criar uma nova coluna com o código abaixo:

df1_newlist[["column1"]] = df1_newlist["column1"].str.split(" ", expand=True) #Splitting based on the space between the values.

print(df1_newlist)

Quando executamos o acima referido, lança o seguinte erro de valor:

A razão pela qual se atira o erro é que a lógica tem três valores a serem divididos em três colunas, mas só definimos uma coluna em df1_newlist[["coluna1"]].

Para corrigir isto, executamos o código abaixo:

df1_newlist[["column1","column2","column3"]] = df1_newlist["column1"].str.split(" ", expand=True) #Splitting based on the space between the values.

print(df1_newlist)

Isto devolve o seguinte resultado, com o problema resolvido!

tratamento de exceções, Python, Listas Python, Tutorial Python, Cordas, Erro de Valor Etiquetas:Dados, Análise de dados, Moldura de Dados, Python, listas python, ValueError

Pós navegação

Posto Anterior: Criar uma tabela HTML a partir de Python usando Javascript
Próximo Post: Questões sobre a Síntese da Entrevista Python

Posts relacionados

  • Tutorial Python: Adicionar uma coluna a uma moldura de dados Python Dataframe
  • Como Passar Variáveis Python para Javascript Javascript
  • como criar uma instância de uma classe classe
  • como inverter uma corda em píton cordas
  • Como automatizar os testes com o Python | teste unitário automatização
  • Como remover caracteres de um ficheiro CSV importado Tutorial Python

Selecione seu idioma!

  • English
  • हिंदी
  • Español
  • Français
  • Italiano
  • Deutsch
  • TypeError: objecto 'int' não pode ser chamado Python
  • O que são Variáveis Locais e Globais em Python? Python
  • Como criar uma combobox em tkinter Python
  • Como agrupar por numa declaração seleccionada SQL
  • Como passar por referência ou passar por valor em Python Python
  • TypeError: O objecto 'NoneType' não é iterável classe
  • Listas de canais do YouTube - Python DataFrames Python Dataframe
  • como seleccionar colunas com SQL SQL

Copyright © 2023 Data Analytics Ireland.

Tema de PressBook Premium

Este website utiliza cookies para melhorar a sua experiência. Assumiremos que está de acordo com isto, mas pode optar por não participar se assim o desejar. Definições de CookiesACCEPT
Política de Privacidade & Cookies

Visão Geral da Privacidade

Este website utiliza cookies para melhorar a sua experiência enquanto navega pelo website. Destes cookies, os que são categorizados como necessários são armazenados em seu navegador, pois são essenciais para o funcionamento das funcionalidades básicas do site. Também usamos cookies de terceiros que nos ajudam a analisar e entender como você usa este website. Estes cookies serão armazenados no seu navegador apenas com o seu consentimento. Você também tem a opção de optar por não utilizar estes cookies. Mas a opção de exclusão de alguns destes cookies pode ter um efeito na sua experiência de navegação.
Necessário
Sempre habilitado
Os cookies necessários são absolutamente essenciais para que o site funcione correctamente. Esta categoria inclui apenas cookies que garantem funcionalidades básicas e características de segurança do website. Estes cookies não armazenam nenhuma informação pessoal.
Não necessário
Quaisquer cookies que possam não ser particularmente necessários para o funcionamento do site e que sejam utilizados especificamente para recolher dados pessoais do utilizador através de análises, anúncios, outros conteúdos incorporados são denominados cookies não necessários. É obrigatório obter o consentimento do usuário antes de executar esses cookies em seu site.
GUARDAR & ACEITAR