Dataframe中的时间是不能直接进行相加减的。如果将两列时间进行加减,会弹出类型错误:
1. dataframe中得两列日期相减
- 直接相加减会报错:
TypeError: unsupported operand type(s) for -: 'str' and 'str'
- 解决方法:
new_df = pd.DataFrame(pd.to_datetime(bool['还车时间']) - pd.to_datetime(bool['借车时间']))
new_df
out:
0
0 0 days 00:22:16
1 0 days 00:11:22
2 0 days 00:06:04
- 时间格式得修改
new_df = pd.DataFrame((pd.to_datetime(bool['还车时间']) - pd.to_datetime(bool['借车时间'])).astype('timedelta64[m]'))
out
0
0 22.0
1 11.0
2 6.0
- ‘timedelta64[m]’ 表示转化为分钟 单位
- ‘timedelta64[s]’ 表示转化为 秒 单位