pandas - 将两个 Pandas 列转换为 yyyy-mm-dd HH:MM:SS
问题描述
我有一个 Pandas 数据框,如下所示:
YYYYMMDD HH
0 19900101 1
1 19900101 2
2 19900101 3
3 19900101 4
4 19900101 5
使用 YYYYMMDD:年-月-日值作为整数。HH:整数形式的小时值。
我想得到一个列'DateTime',它是一个日期时间列,为 yyyy-mm-dd hh:mm:ss。(所以,mm:ss=00:00)。
df['DateTime'] = df['YYYYMMDD'].apply(lambda x: pd.to_datetime(str(x), format='%Y%m%d'))
给我 yyyy-mm-dd 作为日期时间,有没有一种奇特的方法可以将“HH”值添加到日期时间?
解决方案
df['DateTime'] = df['YYYYMMDD'].apply(lambda x: pd.to_datetime(str(x), format='%Y%m%d')) + (pd.to_timedelta(df.HH, unit='H'))
解决了。
推荐阅读
- python - 有谁知道为什么这个 python 代码只返回一个字母而不是一个完整的单词?
- ios - iOS 的“缺失字符”替换是什么样的?
- c - 下面的例子中预处理器是如何工作的?
- kotlin - 具有枚举约束的 Kotlin 泛型函数
- suitecrm - SuiteCRM 详细信息视图和创建视图不显示任何内容
- python - 在python中的另一个字典列表中搜索列表字典的键值
- python - jupyter notebook (python 3.7) 导入失败
- html - 用 img 替换 bootstrap-5 svg 占位符
- git - 带有 git 的 Qt 文件
- angular - formControlName 指令和 FormArray 问题