En fin de compte, je veux calculer le nombre de jours jusqu'au dernier jour du mois à partir de chaque date dans la base de données. df['start']
et de remplir le 'count'
avec le résultat.
Comme première étape vers cet objectif, l calendar.monthrange
prend les arguments (année, mois) et renvoie un tuple (premier jour de la semaine, nombre de jours).
Il semble y avoir une erreur générale concernant l'application de fonctions à des cadres de données ou à des objets de série. J'aimerais comprendre pourquoi cela ne fonctionne pas.
import numpy as np
import pandas as pd
import calendar
def last_day(row):
return calendar.monthrange(row['start'].dt.year, row['start'].dt.month)
Cette ligne soulève une AttributeError : "Timestamp object has no attribute 'dt'" :
df['count'] = df.apply(last_day, axis=1)
voici à quoi ressemble mon cadre de données :
start count
0 2016-02-15 NaN
1 2016-02-20 NaN
2 2016-04-23 NaN
df.dtypes
start datetime64[ns]
count float64
dtype: object