My dataframe has dates in format: dd-mm-yy hh:mm:ss
E.g
15-14-2016 08:05:10
15-14-2016 08:15:30
15-14-2016 10:45:22
18-14-2016 06:23:10
18-14-2016 07:37:30
18-14-2016 12:48:22
There are around 1000 rows and
I used below code to get unique dates
print pd.unique((df.Date).dt.strftime('%d-%m-%y'))
but my output seems to be 2 lists instead of just one:
['15-04-16' '18-04-16' '19-04-16' '20-04-16' '21-04-16' '22-04-16']
['15-04-16' '18-04-16' '19-04-16' '20-04-16' '21-04-16' '22-04-16']
Can anyone help
asked Oct 22 '25 09:10
I think you can use dt.strftime with unique if you need convert dates to strings:
print df
Date
0 2016-12-15 08:05:10
1 2016-12-15 08:15:30
2 2016-12-15 10:45:22
3 2016-12-18 06:23:10
4 2016-12-18 07:37:30
5 2016-12-18 12:48:22
#if dtype of column date Date is not datetime
df['Date'] = pd.to_datetime(df['Date'])
print df.Date.dt.strftime('%d-%m-%y').unique()
['15-12-16' '18-12-16']
If you need unique dates, use dt.date:
print df.Date.dt.date.unique()
[datetime.date(2016, 12, 15) datetime.date(2016, 12, 18)]
You can use numpy.unique:
import numpy as np
df
Out[20]:
date
0 2016-04-15 08:05:10
1 2016-04-15 08:15:30
2 2016-04-15 10:45:22
3 2016-04-18 06:23:10
4 2016-04-18 07:37:30
5 2016-04-18 12:48:22
6 2016-04-18 12:48:22
np.unique(df["date"].dt.strftime('%d-%m-%y'))
Out[22]: array(['15-04-16', '18-04-16'], dtype=object)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With