【发布时间】:2018-08-09 18:41:46
【问题描述】:
我现在对类型很困惑。
我最近从 Rstudio 搬到了 python。
比方说
x = '20:05:20'
y = '20:06:10'
那么 x 和 y 只是字符串,即使它们引用时间。
为了只获取时间数据而不获取日期,我经常使用
pd.to_datetime(df,format='%H:%M:%S).time()
pd.to_datetime(x, format='%H:%M:%S').time()
datetime.time(20, 5, 20)
pd.to_datetime(y, format='%H:%M:%S').time()
datetime.time(20, 6, 10)
但是,在我将 x 和 y 作为数据框后,此代码不再起作用。
如果你愿意,你可以试试。
ttmm=pd.DataFrame({'ttme':[x,y]})
ttmm['ttme']
0 20:05:20
1 20:06:10
Name: ttme, dtype: object
pd.to_datetime(ttmm['ttme'], format='%H:%M:%S').time()
然后我得到这个错误消息。
AttributeError: 'Series' object has no attribute 'time'
为什么这不起作用?
【问题讨论】:
-
如果你想访问一个系列的日期时间属性,你可以使用
.dt。为了只获取时间组件,请尝试:pd.to_datetime(ttmm['ttme'], format='%H:%M:%S').dt.time