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

165
Vistas
¿Cómo ajustar este marco de datos?

Tengo el siguiente marco de datos:

 from numpy import nan df = pd.DataFrame({'Date': ['2014-09-30', '2014-10-01', '2014-10-31', '2014-11-01'], 'X1': [20, nan, 19, nan], 'X2': [nan,2,nan,4], 'X3': [5,nan,9,nan], }) Date X1 X2 X3 0 2014-09-30 20 nan 5 1 2014-10-01 nan 2 nan 2 2014-10-31 19 nan 9 3 2014-11-01 nan 4 nan

Como puede ver, el problema es que las columnas tienen un tiempo de liberación diferente. Quiero crear un marco de datos único con el día de fin de mes para cada variable. Por lo tanto, el resultado debería ser:

 Date X1 X2 X3 0 2014-09-30 20 2 5 1 2014-10-31 19 4 9

¿Alguien puede ayudarme a conseguirlo?

¡Gracias!

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Puede usar pandas pandas.tseries.offsets.MonthEnd para groupby por + first

 from pandas.tseries.offsets import MonthEnd g = pd.to_datetime(df['Date']) + MonthEnd(1) - MonthEnd() df.groupby(g, as_index=False).first().convert_dtypes()

producción:

 Date X1 X2 X3 0 2014-09-30 20 2 5 1 2014-10-31 19 4 9
over 4 years ago · Santiago Trujillo Denunciar

0

También puede completar todos los valores nan con el método bfill y dejar solo los últimos días del mes usando la función dt.is_month_end :

 (df.fillna(method='bfill') [pd.to_datetime(df['Date']).dt.is_month_end] .reset_index(drop=True) )

Producción:

 Date X1 X2 X3 0 2014-09-30 20 2 5 1 2014-10-31 19 4 9
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