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

201
Vistas
Valores de búsqueda por encabezado de columna correspondiente en Pandas 1.2.0 o más reciente

La operación pandas.DataFrame.lookup está "en desuso desde la versión 1.2.0" y desde entonces ha invalidado muchas respuestas anteriores.

Esta publicación intenta funcionar como un recurso canónico para buscar pares de columnas de fila correspondientes en pandas versiones 1.2.0 y posteriores.

Algunas respuestas anteriores a este tipo de pregunta (ahora en desuso):

  1. Búsqueda vectorizada en un marco de datos de pandas
  2. Python Pandas Match Vlookup columnas basadas en valores de encabezado
  3. Usando DataFrame.lookup para obtener filas donde los nombres de las columnas son un subconjunto de una cadena
  4. Python: pandas: haga coincidir el valor de la fila con el nombre de la columna/valor de la clave

Algunas respuestas actuales a esta pregunta:

  1. Valor de DataFrame de referencia correspondiente al encabezado de columna
  2. Pandas/Python: cómo crear una nueva columna basada en valores de otras columnas y aplicar condiciones adicionales a esta nueva columna

Valores de búsqueda estándar con índice de rango predeterminado

Dado el siguiente DataFrame:

 df = pd.DataFrame({'Col': ['B', 'A', 'A', 'B'], 'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8]}) Col AB 0 B 1 5 1 A 2 6 2 A 3 7 3 B 4 8

Me gustaría poder buscar el valor correspondiente en la columna especificada en Col :

Me gustaría que mi resultado se vea así:

 Col AB Val 0 B 1 5 5 1 A 2 6 2 2 A 3 7 3 3 B 4 8 8

Valores de búsqueda estándar con un índice no predeterminado

Índice de rango no contiguo

Dado el siguiente DataFrame:

 df = pd.DataFrame({'Col': ['B', 'A', 'A', 'B'], 'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8]}, index=[0, 2, 8, 9]) Col AB 0 B 1 5 2 A 2 6 8 A 3 7 9 B 4 8

Me gustaría conservar el índice pero aún encontrar el valor correspondiente correcto:

 Col AB Val 0 B 1 5 5 2 A 2 6 2 8 A 3 7 3 9 B 4 8 8

índice múltiple

 df = pd.DataFrame({'Col': ['B', 'A', 'A', 'B'], 'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8]}, index=pd.MultiIndex.from_product([['C', 'D'], ['E', 'F']])) Col AB CEB 1 5 FA 2 6 DEA 3 7 FB 4 8

Me gustaría conservar el índice pero aún encontrar el valor correspondiente correcto:

 Col AB Val CEB 1 5 5 FA 2 6 2 DEA 3 7 3 FB 4 8 8

Búsqueda con valor predeterminado para valores no coincidentes/no encontrados

Dado el siguiente DataFrame

 df = pd.DataFrame({'Col': ['B', 'A', 'A', 'C'], 'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8]}) Col AB 0 B 1 5 1 A 2 6 2 A 3 7 3 C 4 8 # Column C does not correspond with any column

Me gustaría buscar los valores correspondientes si existe uno; de lo contrario, me gustaría tenerlo predeterminado en 0

 Col AB Val 0 B 1 5 5 1 A 2 6 2 2 A 3 7 3 3 C 4 8 0 # Default value 0 since C does not correspond

Buscar con valores faltantes en la búsqueda Col

Dado el siguiente DataFrame:

 Col AB 0 B 1 5 1 A 2 6 2 A 3 7 3 NaN 4 8 # <- Missing Lookup Key

Me gustaría que cualquier valor de NaN en Col resulte en un valor de NaN en Val

 Col AB Val 0 B 1 5 5.0 1 A 2 6 2.0 2 A 3 7 3.0 3 NaN 4 8 NaN # NaN to indicate missing
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Otra opción es crear una tupla de las columnas de búsqueda, girar el marco de datos y seleccionar las columnas relevantes con las tuplas:

 cols = [(ent, ent) for ent in df.Col.unique()] df.assign(Val = df.pivot(index = None, columns = 'Col') .reindex(columns = cols) .ffill(axis=1) .iloc[:, -1]) Col AB Val 0 B 1 5 5.0 2 A 2 6 2.0 8 A 3 7 3.0 9 B 4 8 8.0
over 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