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.

El valor mínimo no es igual a vacío en la tabla dinámica de Pandas.

Mis datos de entrada son los siguientes:

DocumentID InvoiceDate
25001 01-02-2020
25001
25001 10-02-2020
25001 25-02-2020
25001
25001 28-02-2020
26001 10-04-2020
26001 21-05-2020
26001
27001 09-07-2020

Entonces quiero obtener la fecha mínima y máxima.

Puedo obtener el valor máximo con el mismo código, pero no puedo obtener el valor mínimo debido a los datos en blanco.

Este es mi código:

MinFecha = pd.pivot_table(df, values=[‘InvoiceDate’], index=[‘DocumentID’], aggfunc={‘InvoiceDate’: np.min}).reset_index()

Este es mi resultado:
El valor mínimo aparece como “None”

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para obtener la fecha mínima de los datos de entrada, puedes utilizar la función dropna() para eliminar todas las filas que tengan valores faltantes (espacios en blanco) y luego aplicar el mismo código que utilizaste para obtener la fecha máxima. Aquí tienes un ejemplo:

    # Eliminar filas con valores faltantes
    df_clean = df.dropna(subset=['InvoiceDate'])
    
    # Obtener fechas mínima y máxima
    dates = pd.pivot_table(df_clean, values='InvoiceDate', index='DocumentID',
                           aggfunc=[np.min, np.max]).reset_index()
    
    # Imprimir resultados
    print(dates)
    

    Esto debería darte una salida como esta:

       DocumentID        amin        amax
    0       25001  01-02-2020  28-02-2020
    1       26001  10-04-2020  21-05-2020
    2       27001  09-07-2020  09-07-2020
    

    Ten en cuenta que la función dropna() se utiliza para eliminar todas las filas donde la columna InvoiceDate está en blanco. Esto asegura que la función pivot_table() solo considere filas que tengan un valor de fecha válido al calcular las fechas mínima y máxima.

Comments are closed.