python - 无法将函数应用于 Pandas DataFrame 中的每个单元格

标签 python pandas datetime

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

df.applymap(datetime.time)

不幸的是,我得到一个TypeError:

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

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

谢谢!

最佳答案

使用 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

关于python - 无法将函数应用于 Pandas DataFrame 中的每个单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44400300/

相关文章:

python - 如何使 Numba 访问数组的速度与 Numpy 一样快?

Python:从二进制数据中解压结构数组的最佳方法是什么

c# - Razor 总是显示默认时间而不是数据库字段中的时间

javascript - Google LineChart 中显示的时间不正确

java - 为什么在更改 Android 中的区域时 DateTimeZone.getDefault() 不会更新

python - python 如何获得毫秒分辨率的时间

python - 多处理比 Windows 中的串行处理慢(但在 Linux 中不是)

python - 读取 SQL 文件并使用 Count Vectorizer 获取单词出现次数

python - 如何将多个 XML 文件解析为多个 CSV 文件?

python - 根据 pandas Dataframe 中的 salePercentage 对产品进行分类