322 votes

Obtenir le nom du mois à partir du numéro

Comment puis-je obtenir le nom du mois à partir du numéro du mois ?

Par exemple, si j'ai 3 Je veux revenir. march

date.tm_month()

Comment obtenir la chaîne march ?

4voto

chaim glancz Points 11

De "01" à "Jan".

from datetime import datetime

datetime.strptime('01', "%m").strftime("%b")

2voto

Mehtab Pathan Points 197

Pour une gamme arbitraire de numéros de mois

month_integer=range(0,100)
map(lambda x: calendar.month_name[x%12+start],month_integer)

donnera une liste correcte. Ajustez start -Paramètre à partir duquel le mois de janvier commence dans la liste des mois entiers.

1voto

Jane Kathambi Points 145

Ce script a pour but de montrer comment obtenir les abréviations des mois du calendrier pour une variable/colonne de mois dans un cadre de données. Notez que l'hypothèse est que les valeurs de la colonne/variable mois sont toutes des nombres et peut-être qu'il pourrait y avoir quelques valeurs manquantes.

# Import the calendar module
  import calendar

# Extract month as a number from the date column
  df['Month']=pd.DatetimeIndex(df['Date']).month

# Using list comprehension extract month abbreviations for each month number
 df['Month_abbr']=[calendar.month_abbr[int(i)] if pd.notna(i) else i for i in df['Month']]

1voto

Kamal Zaitar Points 11

Au lieu d'importer ou de télécharger une nouvelle lib, vous pouvez utiliser ma fonction manuelle :

copier le code dans un nouveau fichier .py et l'exécuter

explication rapide :

changez votre_numéro et imprimez month_from_number, vous obtiendrez le mois

    your_number = 10

    def num_to_month(*args, **kwargs):

        num = kwargs.get("num", None)

        if int(num) <= 12 and int(num) > 0:

            list_of_months = {'1': 'January', '2': 'February', '3': 'March',
                              '4': 'April', '5': 'May', '6': 'June', '7': 'July',
                              '8': 'August', '9': 'September', '10': 'October',
                              '11': 'November', '12': 'December'}

            return list_of_months[num]

        else:

            print('num_to_month function error: "num=' + str(num) + '"')

    month_from_num = num_to_month(num=str(your_number))

    print(month_from_number)

le résultat sera octobre

-7voto

jdvcal Points 41

J'ai créé ma propre fonction qui convertit les chiffres en leur mois correspondant.

def month_name (number):
    if number == 1:
        return "January"
    elif number == 2:
        return "February"
    elif number == 3:
        return "March"
    elif number == 4:
        return "April"
    elif number == 5:
        return "May"
    elif number == 6:
        return "June"
    elif number == 7:
        return "July"
    elif number == 8:
        return "August"
    elif number == 9:
        return "September"
    elif number == 10:
        return "October"
    elif number == 11:
        return "November"
    elif number == 12:
        return "December"

Ensuite, je peux appeler la fonction. Par exemple :

print (month_name (12))

Salidas:

>>> December

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X