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
Libérer: 2024-12-14 20:02:11
original
220 Les gens l'ont consulté

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']
Copier après la connexion

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
Copier après la connexion

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

df['year'] = df['ArrivalDate'].dt.year
df['month'] = df['ArrivalDate'].dt.month
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal