0
votes

Comment calculer les premiers vendredis de chaque mois donné une liste de dates comme objet DateTime à Python?

Supposons que j'ai un denttitimeindex objet dans python stocké comme trading_days : xxx

Je veux calculer le premier vendredi de chaque mois dans cet objet datetime. Ma sortie souhaitée est un autre objet DateTime avec ces dates pour les premiers vendredis.

Ma tentative était la suivante: xxx

mais bien sûr que ce code échouera Si, par exemple, un certain mois a 5 vendredi. Par exemple, la sortie que je reçois du code ci-dessus est xxx

janvier 2014 est sujette à l'erreur que je viens de décrire. Et puis tout est vissé.

Comment puis-je le faire de manière efficace? Je sens que pandas devrait avoir quelque chose comme ça déjà intégré mais je ne pouvais pas le trouver. Merci beaucoup!


0 commentaires

4 Réponses :


2
votes

Pas à 100% sûr de savoir comment vous recréer exemple DateTimeIndex, mais nous allons commencer par un simple bdate_range .

sous-ensemble au vendredi puis déposer des doublons sur la période de l'année xxx


0 commentaires

0
votes

Lorsque vous découvrirez le premier vendredi de la matrice, la logique suivante peut vous aider.

permet de dire que le premier vendredi était le premier vendredi 2014-01-03, puis vérifiez le chiffre à la 4ème position à partir de la fin (je compte «- 'comme poste), ajoutez maintenant 28 à l'indice actuel. Si la date reçue a également le même chiffre à la 4ème position à la suite de celle de la précédente, ajoutez 7 de plus à l'indice et que cet indice sera le premier vendredi du mois prochain, sinon l'indice obtenu en ajoutant 28 volonté. le premier vendredi du mois prochain.

Ici, vous n'êtes pas obligé de vérifier la 5ème position au cours des 3 derniers mois, c'est-à-dire 10, 11 et 12, tous ont du dernier chiffre différent de leurs prédécesseurs.

Toutes les explications ci-dessus peuvent être facilement implémentées à l'aide de Conditions de Pyhton.


0 commentaires

0
votes

Voici une fonction simple qui extraire le premier vendredi de chaque mois (ou quatrième jeudi de chaque mois, ou ...) d'un Pandas DateTimeDex. C'est une excuse d'utiliser la fonction itheroTools.groupby () . xxx

Utilisez la fonction comme ceci: xxx < / p>


0 commentaires

0
votes

Pas sûr que c'est mieux que les autres réponses déjà affichées. Mais j'ai commencé avec les dates dans un DateTimeindex selon votre question: xxx


0 commentaires