Python | Pandas Series.dt.day_name

day_name | Python Methods and Functions

Series.dt can be used to access series values ​​as datetimelike and return multiple properties. Series.dt.day_name() Pandas Series.dt.day_name() returns the names of the DateTimeIndex days with the specified language standard.

Syntax: Series.dt.day_name (* args, ** kwargs)

Parameter:
locale: Locale determining the language in which to return the day name. Default is English locale.

Returns: Index of day names.

Example # 1: Use Series.dt.day_name () to return the day names of the underlying datetime data in the given series object. Return the day names in English.

# import pandas as pd

import pandas as pd

 
# Create Series

sr = pd .Series ([ '2012-12-31 08:45' , '2019-1-1 12:30' , ' 2008-02-2 10:30' ,

'2010-1-1 09:25 ' , ' 2019-12-31 00:00' ])

 
# Create an index a

idx = [ 'Day 1' , ' Day 2' , 'Day 3' , ' Day 4' , 'Day 5' ]

 
# set index

sr.index = idx

 
# Convert base data to date and time

sr = pd.to_datetime (sr)

 
# Print series

print (sr)

Output:

We will now use Series.dt.day_name () to return the day names of each timestamp in a given series object.

# return the day name in English

result = sr.dt.day_name (locale = 'English' )

 
# print result

print (result)

Output:  

As we can see from the output, Series.dt.day_name ( ) successfully returned day names in the specified language.

Example # 2: Use Series.dt.day_name () to return day names the underlying datetime data in this series object. Return day names in French.

# import pandas as pd

import pandas as pd

 
# Create Series

sr = pd .Series (pd.date_range ( '2012-12-31 09:45' , periods = 5 , freq = 'Q' ,

  tz = 'Europe / Berlin' ) )

 < br /> # Index creation

idx = [ 'Day 1' , 'Day 2' , ' Day 3' , 'Day 4' , ' Day 5' ]

 
# set index

sr.index = idx

 
# Print series

print (sr)

Output:

We will now use Series.dt.day_name () to return the day names of each timestamp in this series object.

# return the day name in French

result = sr.dt.day_name (locale = 'French' )

 
# print the result

print (result)

Output:

As we can see from the output, Series.dt.day_name () successfully returned the day names in the specified language yke.





Python | Pandas Series.dt.day_name: StackOverflow Questions

Answer #1

If you"d like to have the date in English:

from datetime import date
import calendar
my_date = date.today()
calendar.day_name[my_date.weekday()]  #"Wednesday"

Answer #2

The date, datetime, and time objects all support a strftime(format) method, to create a string representing the time under the control of an explicit format string.

Here is a list of the format codes with their directive and meaning.

%a  Locale’s abbreviated weekday name.
%A  Locale’s full weekday name.      
%b  Locale’s abbreviated month name.     
%B  Locale’s full month name.
%c  Locale’s appropriate date and time representation.   
%d  Day of the month as a decimal number [01,31].    
%f  Microsecond as a decimal number [0,999999], zero-padded on the left
%H  Hour (24-hour clock) as a decimal number [00,23].    
%I  Hour (12-hour clock) as a decimal number [01,12].    
%j  Day of the year as a decimal number [001,366].   
%m  Month as a decimal number [01,12].   
%M  Minute as a decimal number [00,59].      
%p  Locale’s equivalent of either AM or PM.
%S  Second as a decimal number [00,61].
%U  Week number of the year (Sunday as the first day of the week)
%w  Weekday as a decimal number [0(Sunday),6].   
%W  Week number of the year (Monday as the first day of the week)
%x  Locale’s appropriate date representation.    
%X  Locale’s appropriate time representation.    
%y  Year without century as a decimal number [00,99].    
%Y  Year with century as a decimal number.   
%z  UTC offset in the form +HHMM or -HHMM.
%Z  Time zone name (empty string if the object is naive).    
%%  A literal "%" character.

This is what we can do with the datetime and time modules in Python

import time
import datetime

print "Time in seconds since the epoch: %s" %time.time()
print "Current date and time: ", datetime.datetime.now()
print "Or like this: ", datetime.datetime.now().strftime("%y-%m-%d-%H-%M")

print "Current year: ", datetime.date.today().strftime("%Y")
print "Month of year: ", datetime.date.today().strftime("%B")
print "Week number of the year: ", datetime.date.today().strftime("%W")
print "Weekday of the week: ", datetime.date.today().strftime("%w")
print "Day of year: ", datetime.date.today().strftime("%j")
print "Day of the month : ", datetime.date.today().strftime("%d")
print "Day of week: ", datetime.date.today().strftime("%A")

That will print out something like this:

Time in seconds since the epoch:    1349271346.46
Current date and time:              2012-10-03 15:35:46.461491
Or like this:                       12-10-03-15-35
Current year:                       2012
Month of year:                      October
Week number of the year:            40
Weekday of the week:                3
Day of year:                        277
Day of the month :                  03
Day of week:                        Wednesday

Tutorials