将功能应用于Pandas DataFrame中的每个单元格

时间:2017-06-06 21:45:45

标签: python pandas datetime

我有一个Pandas DataFrame,其中包含datetime类型的单个列(' publish_time')。我想得到时间,所以我尝试了这样的事情:

df.applymap(datetime.time)

不幸的是,我得到了TypeError

TypeError: ('an integer is required', u'occurred at index publish_time')

我有点迷失在这里因为我将datetime函数应用于一堆datetime个对象,所以我不知道为什么Python需要一个整数。有什么建议吗?

谢谢!

1 个答案:

答案 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