我有一个Pandas DataFrame,其中包含datetime类型的单个列(' publish_time
')。我想得到时间,所以我尝试了这样的事情:
df.applymap(datetime.time)
不幸的是,我得到了TypeError
:
TypeError: ('an integer is required', u'occurred at index publish_time')
我有点迷失在这里因为我将datetime
函数应用于一堆datetime
个对象,所以我不知道为什么Python需要一个整数。有什么建议吗?
谢谢!
答案 0 :(得分:4)
使用dt
访问器,您可以以矢量化方式获取时间组件:
df = pd.DataFrame({'publish_time': ['20170606 12:04', '20170606 17:02']})
df
Out:
publish_time
0 20170606 12:04
1 20170606 17:02
df['publish_time'] = pd.to_datetime(df['publish_time'])
df['publish_time'].dt.time
Out:
0 12:04:00
1 17:02:00
Name: publish_time, dtype: object