Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

246
Views
Pandas - Número de meses entre dos fechas

Creo que esto debería ser simple, pero lo que he visto son técnicas que implican iterar sobre los campos de fecha de un marco de datos para determinar la diferencia entre dos fechas. Y estoy teniendo problemas con eso. Estoy familiarizado con MSSQL DATEDIFF, así que pensé que Pandas datetime tendría algo similar. Tal vez sí, pero me lo estoy perdiendo.

¿Existe una forma Pandonic de determinar la cantidad de meses como un número entero entre dos fechas (datetime) sin necesidad de iterar? Tenga en cuenta que potencialmente hay millones de filas, por lo que el rendimiento es una consideración.

Las fechas son objetos de fecha y hora y el resultado sería este: la nueva columna es Mes:

 Date1 Date2 Months 2016-04-07 2017-02-01 11 2017-02-01 2017-03-05 1
over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Aquí hay una respuesta muy simple, mi amigo:

 df['nb_months'] = ((df.date2 - df.date1)/np.timedelta64(1, 'M'))

y ahora:

 df['nb_months'] = df['nb_months'].astype(int)
over 4 years ago · Santiago Trujillo Report

0

Una solución alternativa, posiblemente más elegante, es df.Date2.dt.to_period('M') - df.Date1.dt.to_period('M') , que evita errores de redondeo.

over 4 years ago · Santiago Trujillo Report

0

df.assign( Months= (df.Date2.dt.year - df.Date1.dt.year) * 12 + (df.Date2.dt.month - df.Date1.dt.month) ) Date1 Date2 Months 0 2016-04-07 2017-02-01 10 1 2017-02-01 2017-03-05 1
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!