python - 如何结合日期时间和时间来获取日期时间?
问题描述
我的数据有df:
+-----+---------------------+--------+--------------------+--------------------+--------------+--------------+
| | date | time | home_team | away_team | home_score | away_score |
+=====+=====================+========+====================+====================+==============+==============+
| 50 | 2014-11-07 00:00:00 | 18:30 | Aalen | FSV Frankfurt | 0 | 1 |
+-----+---------------------+--------+--------------------+--------------------+--------------+--------------+
| 51 | 2014-11-07 00:00:00 | 18:30 | Kaiserslautern | Bochum | 2 | 2 |
+-----+---------------------+--------+--------------------+--------------------+--------------+--------------+
我希望将日期和时间列组合为:
+-----+---------------------+--------+--------------------+--------------------+--------------+--------------+
| | datetime | time | home_team | away_team | home_score | away_score |
+=====+=====================+========+====================+====================+==============+==============+
| 50 | 2014-11-07 18:30:00 | 18:30 | Aalen | FSV Frankfurt | 0 | 1 |
+-----+---------------------+--------+--------------------+--------------------+--------------+--------------+
| 51 | 2014-11-07 18:30:00 | 18:30 | Kaiserslautern | Bochum | 2 | 2 |
+-----+---------------------+--------+--------------------+--------------------+--------------+--------------+
如何合并这两列?获取日期时间?
解决方案
如有必要,将两列都转换为日期时间和时间增量,使用to_datetime
with to_timedelta
:
df['date'] = pd.to_datetime(df['date']) + pd.to_timedelta(df['time'] + ':00')
如果已经有日期时间,则仅添加 timedeltas:
df['date'] += pd.to_timedelta(df['time'] + ':00')
推荐阅读
- c++ - 如何使用类c++的线程成员变量
- c++ - 我通过迭代加法和检查单个字符(参见代码)将二进制数转换为十进制的方法有什么问题?
- vim - 如何在不进入插入模式的情况下用鼠标选择文本
- c++ - std::variant 和不完整类型:它是如何工作的?
- google-apps-script - 如何提高创建 60 张纸的应用脚本的性能?
- java - Java:找不到符号“file.asm”.split(“.”)
- c++ - 在Linux机器上使用cmake Qt5 Webkit进行C ++交叉编译,使用mingw针对Windows,失败
- oracle - 如何在 oracle 云应用程序上创建帐户?
- javascript - 关闭模式后如何保存复选框选中状态?
- php - php文件有什么问题?Wordpress/Woocommerce 中的致命错误