You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将DataFrame中Time:Date与Time:Time两列合并为Date:Time列

解决方案:合并Pandas DataFrame中的日期和时间列

嘿,这个需求很容易实现,用Pandas的字符串拼接功能就能快速搞定!下面是具体步骤和代码示例:

步骤1:还原你的数据集(模拟示例)

先把你提供的DataFrame还原出来,方便演示:

import pandas as pd

data = {
    'Time:Date': ['03/28/2018', '03/28/2018', '03/28/2018', '03/28/2018', '03/28/2018'],
    'Time:Time': ['10:00:00 AM', '10:01:00 AM', '10:02:00 AM', '10:03:00 AM', '10:04:00 AM']
}
df = pd.DataFrame(data)

步骤2:合并两列生成目标列

直接将Time:Date和Time:Time的字符串用空格拼接,赋值给新的Date:Time列:

# 用空格分隔日期和时间字符串,合并成新列
df['Date:Time'] = df['Time:Date'] + ' ' + df['Time:Time']

步骤3:移除原列(可选)

如果不需要保留原来的两列,用drop方法删除它们即可:

# axis=1表示对列进行操作,删除指定的两列
df = df.drop(['Time:Date', 'Time:Time'], axis=1)

额外优化:转为datetime类型(方便后续操作)

如果之后需要对时间列做筛选、计算等操作,建议把字符串转为Pandas的datetime类型:

# 按照你的时间格式指定解析规则
df['Date:Time'] = pd.to_datetime(df['Date:Time'], format='%m/%d/%Y %I:%M:%S %p')

这里的format参数对应你的时间格式:

  • %m:两位数字的月份(01-12)
  • %d:两位数字的日期(01-31)
  • %Y:四位数字的年份
  • %I:12小时制的小时(01-12)
  • %M:两位数字的分钟(00-59)
  • %S:两位数字的秒(00-59)
  • %p:AM/PM标识

执行完上面的代码,就能得到你想要的输出结果啦!

内容的提问来源于stack exchange,提问作者Rafiq Shaikh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:25:06