2017-01-11 40 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]]在列表中的所有位置抓取低维对象的集合。该集合将标量时间戳的维度增加到日期时间列。

相关问题