python - 类型错误:+ 不支持的操作数类型:“datetime.datetime”和“datetime.time”
问题描述
我有一个熊猫数据框:
In [33]: df
Out[33]:
userId 2021-01-29 2021-01-30 2021-01-01
0 Nl3AG93Ss7L5aj 09:00:00 NaN NaN
1 NaN NaN NaN NaN
2 AbVpBHdfrI5aj1 12:10:00 NaN NaN
3 NaN NaN NaN NaN
4 NaN NaN NaN NaN
5 sad9283ds7L5aj1 NaN 15:35:00 22:22:00
6 NaN NaN NaN NaN
7 NaN NaN NaN NaN
8 NaN NaN NaN NaN
我需要获取脚本开始工作的日期和时间,但出现错误:
TypeError Traceback (most recent call last)
<ipython-input-40-7ed51ff0c115> in <module>
1 for column in df.columns.tolist():
----> 2 for i in df.loc[df[column].apply(lambda x: isinstance(x, datetime.time))][column]: print(column + i)
3
TypeError: unsupported operand type(s) for +: 'datetime.datetime' and 'datetime.time'
我也可以在不合并的情况下输出时间表:
In [22]: for column in df.columns.tolist():
...: for time in df.loc[df[column].apply(lambda x: isinstance(x, datetime.time))][column]: print(column, time)
...:
2021-01-29 00:00:00 09:00:00
2021-01-29 00:00:00 12:10:00
2021-01-30 00:00:00 15:35:00
2021-01-01 00:00:00 22:22:00
解决方案
尝试将这些东西转换成字符串,然后使用+
as 字符串 concat ...
for column in df.columns.tolist():
for i in df.loc[df[column].apply(lambda x: isinstance(x, datetime.time))][column]: print(column.strftime("%Y-%m-%d”) +" "+ i.strftime("%H:%M:%S”))
推荐阅读
- php - php 通过 windows cmd - 多个实例
- php - 如何使用 Yelp API 从 v2 迁移到 v3?
- android - Android Studio:加载时 MapView 应用程序崩溃
- python - 使用 matplotlib 时的警告
- ios - 应用程序试图在自身上呈现模态视图控制器
- python - 在 python 中重现 Matlab 的 SVD
- javascript - 将base 64(数据url)中的图像复制到excel?
- javascript - 如何将 Ajax 连接到外部 php 文件
- vim - YouCompleteMe GetDoc 预览窗口不会在选择时触发
- branch.io - Branch.io 智能横幅之旅无法检测应用是否已下载