Saltar al contenido
  • YouTube
  • FaceBook
  • Twitter
  • Instagram

Data Analytics Irlanda

Análisis de datos y tutoriales de vídeo

  • Inicio
  • Contacte con
  • Sobre nosotros
    • Lo último
    • Escriba para nosotros
    • Aprenda más información sobre nuestro sitio web
  • Enlaces útiles
  • Glosario
  • Todas las categorías
  • Faq
  • Transmisión en directo
  • Alternar formulario de búsqueda
  • Cómo ejecutar Python directamente desde Javascript Flask
  • lanzar una excepción en python clase
  • Cómo crear múltiples archivos XML desde Excel con Python Python
  • cómo seleccionar columnas con SQL SQL
  • ¿Cuál es la diferencia entre DROP y TRUNCATE en SQL? SQL
  • Tutorial de Python: Pandas groupby ( Video 1) Python
  • ¿Cuántas funciones de Python existen? Python
  • ¿Qué es un índice agrupado en SQL? SQL

ValueError: Las columnas deben tener la misma longitud que la clave

Publicado el 21 de septiembre de 202212 de febrero de 2023 Por admin

Tiempo estimado de lectura: 3 minutos

¿Estás intentando aprender python, y en el proceso te encuentras con este error e intentas entender por qué se produce?

En esencia, esto suele ocurrir cuando tienes más de un marco de datos y en el proceso de escribir tu programa estás intentando utilizar los marcos de datos y sus datos, pero hay un desajuste en el número de elementos en cada uno que el programa no puede procesar hasta que se arregle.

Una situación común en la que esto puede ocurrir es cuando se unen marcos de datos o se dividen los datos, lo que se demostrará a continuación.

Escenario 1 - Unir marcos de datos

Donde tenemos df1[['a']] = df2 estamos asignando los valores del lado izquierdo del signo de igualdad a lo que está a la derecha.

Cuando miramos el lado derecho tiene tres columnas, el lado izquierdo tiene una.

Como resultado, aparecerá el error "ValueError: Las columnas deben tener la misma longitud que la clave", como se indica a continuación.

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

El código anterior arroja el siguiente error:

El objetivo aquí es tener todas las columnas del lado derecho, al lado de las columnas del lado izquierdo de la siguiente manera:

Lo que hemos hecho es igualar ambos lados en cuanto al número de columnas a mostrar de df2
Esencialmente estamos tomando la columna de DF1, y luego trayendo las tres columnas de DF2.
La columna, columnab, columnac de abajo corresponden a las tres columnas de DF2, y almacenarán los datos de ellas.

La solución a este problema es: df1[['columna','columnb','columnc']] = df2

print (df1)

Escenario 2 - Dividir los datos

Puede haber una ocasión en la que tengas una lista python, y necesites dividir los valores de esa lista en columnas separadas.

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

En lo anterior, hemos creado una lista, con tres valores que forman parte de una cadena. Aquí lo que buscamos es crear una nueva columna con el siguiente código:

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

print(df1_newlist)

Cuando ejecutamos lo anterior arroja el siguiente error de valor:

La razón por la que arroja el error es que la lógica tiene tres valores a repartir en tres columnas, pero sólo hemos definido una columna en df1_newlist[["columna1"]]

Para solucionar esto, ejecutamos el siguiente código:

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

print(df1_newlist)

Esto devuelve la siguiente salida, ¡con el problema solucionado!

manejo de excepciones, Python, Listas de pitones, Tutorial de Python, cuerdas, Error de valor Etiquetas:Datos, Análisis de datos, Marco de datos, Python, listas en python, ValueError

Navegación posterior

Previous Post: Crear una tabla HTML desde Python usando Javascript
Next Post: Preguntas generales sobre Python en una entrevista

Entradas relacionadas

  • Tutorial de Python: Crear una caja de entrada en Tkinter Python
  • Tutorial de Python: Añadir una columna a un marco de datos Marco de datos Python
  • python constructor self y __init__explicado Python
  • ¿Qué son las funciones lambda en Python? Python
  • Tutorial de Python: Pandas groupby ( Video 1) Python
  • Cómo añadir fórmulas a Excel con Python numpy

¡Selecciona tu idioma!

  • English
  • हिंदी
  • Português
  • Français
  • Italiano
  • Deutsch
  • cómo crear gráficos en Tkinter Python
  • Tutorial de Python: Cómo crear gráficos en Excel Tutorial de Python
  • Cómo agrupar datos en Tableau visualización de datos
  • Cómo eliminar caracteres no deseados Limpieza de datos en Python
  • cómo seleccionar todos los registros con SQL SQL
  • Cómo cambiar las cabeceras de un archivo CSV CSV
  • ¿Qué es un array en Python? matriz
  • ¿Cuáles son las excepciones incorporadas en Julia? Programación en Julia

Derechos de autor © 2023 Data Analytics Ireland.

Desarrollado por el tema PressBook Premium

Este sitio web utiliza cookies para mejorar su experiencia. Suponemos que está de acuerdo con esto, pero puede optar por no hacerlo si lo desea. Configuración de las cookies ACEPTAR
Política de Privacidad y Cookies

Resumen de la privacidad

Este sitio web utiliza cookies para mejorar su experiencia mientras navega por el sitio web. De estas cookies, las que se clasifican como necesarias se almacenan en su navegador ya que son esenciales para el funcionamiento de las funcionalidades básicas del sitio web. También utilizamos cookies de terceros que nos ayudan a analizar y comprender cómo utiliza este sitio web. Estas cookies se almacenarán en su navegador sólo con su consentimiento. Usted también tiene la opción de optar por no recibir estas cookies. Sin embargo, la exclusión de algunas de estas cookies puede tener un efecto en su experiencia de navegación.
Necesario
Siempre habilitado
Las cookies necesarias son absolutamente esenciales para que el sitio web funcione correctamente. Esta categoría sólo incluye las cookies que garantizan las funcionalidades básicas y las características de seguridad del sitio web. Estas cookies no almacenan ninguna información personal.
No es necesario
Cualquier cookie que no sea particularmente necesaria para el funcionamiento del sitio web y que se utilice específicamente para recoger datos personales del usuario a través de análisis, anuncios, otros contenidos incrustados se denominan cookies no necesarias. Es obligatorio obtener el consentimiento del usuario antes de ejecutar estas cookies en su sitio web.
GUARDAR Y ACEPTAR