2017-07-13 66 views
1

我的数据框的内容是这样的:如何从数据帧柱日期时间值仅日期

df['Date'] 
2016/12/31 PM 04:50:00 
2016/12/30 AM 02:20:00 
2016/12/2 PM 01:51:00 
2016/12/10 PM 03:33:00 

如何获得唯一的日期值?原来的D型为对象,我想2016年12月31日下午四点50分00秒→2016年12月31日

+0

你想要日期值或日期字符串吗? –

回答

0

使用strftime

小例子

>>> import pandas as pd 

>>> rng = pd.date_range('1/1/2017', periods=72, freq='H') 

>>> rng[0] 
Timestamp('2017-01-01 00:00:00', offset='H') 

>>> rng[0].strftime('%Y/%m/%d') 
'2017/01/01 

注:根据具体的数据类型,你可能需要明确施放。

>>> df = pd.DataFrame() 
>>> df['rng'] = rng 
>>> pd.DatetimeIndex(df['rng']).strftime('%Y/%m/%d') 
array(['2017/01/01', '2017/01/01', '2017/01/01', '2017/01/01', 
... 
+0

嗨,我有df ['Date']数据,我不能用你的例子,如果我使用df ['Date']。strftime('%Y /%m /%d'),它表明我AttributeError: '系列'对象没有任何属性'strftime' –

+0

这就是NB在演员上的用途。 'pd.DatetimeIndex'具有'strftime()'属性,而不是'pd.Series'。 – rmharrison

+0

我想我不知道如何将df ['Date']更改为pd.date_range('1/1/2017',句号= 72,freq ='H'),并且因为我使用pd.DatetimeIndex,它显示我“未知的字符串格式” –