pandas: convertir datetime en fin de mois

J'ai écrit une fonction pour convertir les pandas datetime dates de fin de mois:

import pandas
import numpy
import datetime
from pandas.tseries.offsets import Day, MonthEnd

def get_month_end(d):
    month_end = d - Day() + MonthEnd() 
    if month_end.month == d.month:
        return month_end # 31/March + MonthEnd() returns 30/April
    else:
        print "Something went wrong while converting dates to EOM: " + d + " was converted to " + month_end
        raise

Cette fonction semble être assez lente, et je me demandais si il existe une alternative plus rapide? La raison que j'ai remarqué c'est lent, c'est que je suis en cours d'exécution sur une dataframe colonne avec 50'000 dates, et je peux voir que le code est beaucoup plus lent depuis l'introduction de cette fonction (avant j'étais à la conversion des dates de fin de mois).

df = pandas.read_csv(inpath, na_values = nas, converters = {open_date: read_as_date})
df[open_date] = df[open_date].apply(get_month_end)

Je ne sais pas si c'est pertinent, mais je suis à la lecture des dates comme suit:

def read_as_date(x):
    return datetime.datetime.strptime(x, fmt)

source d'informationauteur Anne