2017-01-11 87 views
1

我有datetime柱:如何從列中獲取日期時間類型而不是時間戳?

>>> data_df.revoting_date 
Out[9]: 
0 2017-01-09 08:40:50.241 
1 2017-01-09 08:40:50.241 
2 2017-01-09 08:40:50.241 
3 2017-01-09 08:40:50.241 
4 2017-01-09 08:40:50.241 
5 2017-01-09 08:40:50.241 
6 2017-01-09 08:40:50.241 
7 2017-01-09 08:40:50.241 
8 2017-01-09 08:40:50.241 
9 2017-01-09 08:40:50.241 
10 2017-01-09 08:40:50.241 
11 2017-01-09 08:40:50.241 
12 2017-01-09 08:40:50.241 
13 2017-01-09 08:40:50.241 
14 2017-01-09 08:40:50.241 
Name: revoting_date, dtype: datetime64[ns] 

但是,當我試圖讓一個單獨的行,我得到Timestamp結果:

data_df.revoting_date.iloc[0] 
Out[11]: Timestamp('2017-01-09 08:40:50.241000') 

我怎樣才能得到的結果爲datetime

+0

爲什麼這很重要? 'datetime'給你帶來的'Timestamp'你有什麼不能做的嗎?只是想了解這裏的需求 – EdChum

回答

2

我想你需要:

a = data_df.revoting_date.iloc[0].to_pydatetime() 
print (a) 
2017-01-09 08:40:50.241000 

print (type(a)) 
<class 'datetime.datetime'> 

,如果需要轉換成列的所有值使用to_pydatetime,但輸出是numpy array

data_df.revoting_date.dt.to_pydatetime() 
1

片與列表

data_df.revoting_date.iloc[[0]] 

0 
0 2017-01-09 08:40:50.241 
Name: revoting_date, dtype: object 

當您使用.iloc[0]會搶駐留在該位置較低的三維物體。另一方面,.iloc[[0]]在列表中的所有位置抓取低維對象的集合。該集合將標量時間戳的維度增加到日期時間列。

相關問題