If you have date as strings then you have to convert them to datetime object
df['Date'] = pd.to_datetime(df['Date'])
and layter you can use Series.dt.weekday_name
df['Day'] = df['Date'].dt.weekday_name
See: timeseries - time date components and pandas.to_datetime()
Working example
import pandas as pd
data = [
"2017-12-13 01:05:44",
"2017-12-12 01:02:13",
"2017-12-11 01:00:55",
"2017-12-10 00:59:31",
"2017-12-09 00:58:23",
]
# create dataframe
df = pd.DataFrame(data, columns=['Date'])
print('\ntype before:\n', df.dtypes)
# convert strings to datetime
df['Date'] = pd.to_datetime(df['Date'])
print('\ntype after:\n', df.dtypes)
# get weekday name
df['Day'] = df['Date'].dt.weekday_name
print(df)
Result:
type before:
Date object
dtype: object
type after:
Date datetime64[ns]
dtype: object
Date Day
0 2017-12-13 01:05:44 Wednesday
1 2017-12-12 01:02:13 Tuesday
2 2017-12-11 01:00:55 Monday
3 2017-12-10 00:59:31 Sunday
4 2017-12-09 00:58:23 Saturday