如何从列而不是时间戳中获取日期时间类型?

2024-04-19 04:15:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我有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的结果?你知道吗


Tags: namedfdatadatetimedateouttimestampns
2条回答

用列表切片

data_df.revoting_date.iloc[[0]]

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

当您使用.iloc[0]时,它将获取驻留在该位置的低维对象。另一方面,.iloc[[0]]获取列表中所有位置的低维对象集。这个集合增加了从标量时间戳到datetime列的维数。你知道吗

我想你需要:

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

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

如果需要转换列中的所有值,请使用^{},但输出是numpy array

data_df.revoting_date.dt.to_pydatetime()

相关问题 更多 >