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.

python pandas | declaración condicional doble

volumen precio fecha/hora
100 3 2021-09-29 04:00:00-04:00
300 2 2021-09-29 04:30:00-04:00
900 5 2021-09-29 05:30:00-04:00
500 9 2021-09-29 06:00:00-04:00
900 22 2021-09-29 06:30:00-04:00
400 1 2021-09-29 07:00:00-04:00

Devuelve el precio con el volumen más alto. En caso de haber dos volúmenes iguales, devuelve el precio más bajo (en este caso es 5).

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Usando pandas, podemos leer los datos proporcionados como un DataFrame y luego aplicar declaraciones condicionales para recuperar la salida deseada.

    import pandas as pd
    
    # Creando un DataFrame usando los datos proporcionados
    df = pd.DataFrame({
        'volume': [100, 300, 900, 500, 900, 400],
        'price': [3, 2, 5, 9, 22, 1],
        'datetime': ['2021-09-29 04:00:00-04:00', '2021-09-29 04:30:00-04:00', '2021-09-29 05:30:00-04:00',
                     '2021-09-29 06:00:00-04:00', '2021-09-29 06:30:00-04:00', '2021-09-29 07:00:00-04:00']
    })
    
    # Ordenando el DataFrame basado en volumen y precio en orden descendente y ascendente, respectivamente
    df = df.sort_values(['volume', 'price'], ascending=[False, True])
    
    # Recuperando la primera fila (es decir, la fila con el mayor volumen y el precio más bajo)
    highest_volume = df.iloc[0]['price']
    

    La salida de este código debería ser 5.

Comments are closed.