es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo usar la función .loc en Python para crear un dataframe utilizado para el cálculo en una matriz completa.

Tengo un marco de datos en python. Podemos tomar cualquier tabla hipotética.

Necesito crear nuevos subconjuntos de ese marco de datos para cada cálculo en una matriz.

Además, hay tantos cálculos en esa matriz. No puedo simplemente escribir df.loc[1, 2]. ¿Hay alguna manera de vincular los 1 y 2 en .loc con otra columna en ese marco de datos?

Soy nuevo en python, así que disculpen si uso algún término incorrecto. Básicamente, soy un usuario avanzado de Excel y Google Sheets. Allí es común arrastrar búsquedas complejas hacia abajo en la columna. En pocas palabras, si conoces Excel o Google Sheets, estoy tratando de obtener el último valor de búsqueda en una sección superior de una tabla y luego arrastrar esta fórmula hacia abajo. La pregunta anterior es el primer paso para obtener esto en python.

Enlace a la hoja de cálculo de Excel que quiero replicar en python.
https://docs.google.com/spreadsheets/d/1SUXbrooN_LdxLfe9OztEBZTb0Lf8jyAy/edit?usp=sharing&ouid=108035388403170702950&rtpof=true&sd=true

Enlace al código de colab de python.
https://colab.research.google.com/drive/1RpyjmsJk9O2y4pYe9r3RD8AEOZWr10HB?usp=sharing

Enlace a la hoja de cálculo de Google de donde colab copia y pega los datos.
https://colab.research.google.com/drive/1RpyjmsJk9O2y4pYe9r3RD8AEOZWr10HB?usp=sharing

Paso 1: para poder hacer búsquedas como en Excel en las celdas rojas.

Para la celda Q2 en la hoja de datos, necesito la siguiente fórmula en python:

IFERROR(BUSCAR(2,1/($D$1:D1=D2),$Q$1:Q1),0)

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Paso 2: Arrastre esta fórmula hacia abajo en todas las celdas de la columna Q.

    Para arrastrar esta fórmula hacia abajo en todas las celdas de la columna Q, puede utilizar el siguiente código:

    for i in range(2, df.shape[0]):
        df.loc[i, 'Q'] = np.where(df.loc[i, 'D'] == df.loc[1, 'D'], df.loc[1, 'Q'], 0)
    

Comments are closed.