类型错误: +: 'datetime.datetime' 和 'datetime.time' 的操作数类型不受支持。



我有一个pandas DataFrame:

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

尝试将事物转换为字符串,仅使用+作为字符串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”))

相关内容

最新更新