2016-05-06 7 views
1

Мой dataframe имеет даты в формате: дд-мм-гггг чч: мм: ссполучать уникальную дату из питона dataframe

Eg

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 

Есть около 1000 строк и

I используемый под кодом, чтобы получить уникальные даты

print pd.unique((df.Date).dt.strftime('%d-%m-%y')) 

, но мой результат представляется 2 списком вместо того, чтобы только один:

['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'] 

Может кто-нибудь помочь

+0

Что импорта вы используете? Что такое «pd» и «df»? – kingledion

ответ

1

Я думаю, что вы можете использовать dt.strftime с unique, если вам нужно конвертировать dates в 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'] 

Если вы n Eed уникальный dates, используйте dt.date:

print df.Date.dt.date.unique() 
[datetime.date(2016, 12, 15) datetime.date(2016, 12, 18)] 
2

Вы можете использовать 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) 
Смежные вопросы