如何在Pandas中将拆分的年月日小时转换为规范日期时间列?
实现DataFrame日期时间格式转换
步骤说明
借助pandas的日期时间处理工具,可快速完成格式转换,具体代码如下:
- 导入依赖并构造原始DataFrame
import pandas as pd # 你的原始数据结构 df = pd.DataFrame({ 'Year': [2022, 2022], 'Month': [8, 8], 'Day': [21, 21], 'Hour': [5, 6] })
- 生成
DD-MM-YYYY格式的Date列
通过pd.to_datetime合并年月日列,再用strftime指定输出格式:
df['Date'] = pd.to_datetime(df[['Year', 'Month', 'Day']]).dt.strftime('%d-%m-%Y')
- 生成
HH:00:00格式的Time列
对Hour列做补零处理,固定分钟和秒为00:
df['Time'] = df['Hour'].apply(lambda x: f"{x:02d}:00:00")
- 提取目标列得到最终结果
保留需要的Date和Time列:
final_df = df[['Date', 'Time']]
结果验证
打印final_df会输出:
Date Time 0 21-08-2022 05:00:00 1 21-08-2022 06:00:00
(注:你给出的期望结果中第二行日期为22-08-2022,但原始数据中Day均为21,推测是笔误,上述代码输出为对应原始数据的正确结果)
内容的提问来源于stack exchange,提问作者Akansha
相关产品推荐
相关产品推荐

