Maison >développement back-end >Tutoriel Python >Comment extraire efficacement l'année et le mois d'une colonne Datetime Pandas ?

Comment extraire efficacement l'année et le mois d'une colonne Datetime Pandas ?

DDD
DDDoriginal
2024-12-14 20:02:11214parcourir

How to Efficiently Extract Year and Month from a Pandas Datetime Column?

Extraction des valeurs de mois et d'année de la colonne Pandas Datetime

Lorsque vous travaillez avec des données de séries chronologiques dans une trame de données Pandas, il est souvent nécessaire d'extraire des données spécifiques composants à partir de valeurs datetime à des fins d’analyse ou de visualisation. Dans ce cas, nous visons à extraire uniquement le mois et l'année d'une colonne contenant des objets pandas.tslib.Timestamp.

Plusieurs méthodes ont été tentées pour extraire ces valeurs. La méthode resample() avec une fréquence « M » échoue car elle nécessite un DatetimeIndex ou un PeriodIndex. L'approche de la fonction lambda échoue en raison de l'absence de l'attribut getitem pour les objets Timestamp.

Une solution élégante consiste à définir l'index du Dataframe sur la colonne ArrivalDate. Cela transforme les valeurs datetime en étiquettes d'index. Des opérations de rééchantillonnage ultérieures peuvent ensuite être effectuées à l'aide de l'index :

df.index = df['ArrivalDate']

Cependant, dans le but d'extraire des valeurs d'année et de mois distinctes dans de nouvelles colonnes, une approche différente est recommandée :

df['year'] = pd.DatetimeIndex(df['ArrivalDate']).year
df['month'] = pd.DatetimeIndex(df['ArrivalDate']).month

Alternativement, l'accesseur dt peut être utilisé pour une syntaxe concise :

df['year'] = df['ArrivalDate'].dt.year
df['month'] = df['ArrivalDate'].dt.month

Ces opérations créent de nouvelles colonnes nommées 'année' et 'mois' qui contient les valeurs extraites. Cela permet une utilisation flexible de ces composants pour une analyse et une manipulation plus approfondies.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn