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

使用Python Pandas合并两列dd/mm/yyyy格式的日期列

解决方案:合并日期列并提取日期列表

核心思路

利用Pandas的combine_first()方法合并两列(优先取第一列值,空值用第二列填充),再通过dropna()和tolist()提取所有有效日期到列表。

完整代码示例

import pandas as pd

# 模拟你的合并后DataFrame(假设两日期列名为date1、date2)
df = pd.DataFrame({
    "date1": ["05/03/2024", None, "10/03/2024", "15/03/2024"],
    "date2": [None, "07/03/2024", "10/03/2024", None]
})

# 1. 合并两日期列为单列
df["combined_date"] = df["date1"].combine_first(df["date2"])

# 2. 提取所有非空日期到列表(保留原dd/mm/yyyy字符串格式)
all_dates = df["combined_date"].dropna().tolist()
print("所有日期列表(原格式):", all_dates)

# 可选:将日期转为datetime格式后提取列表
all_dates_datetime = pd.to_datetime(
    df["combined_date"], 
    format="%d/%m/%Y"
).dropna().tolist()
print("所有日期列表(datetime格式):", all_dates_datetime)

代码说明

  • combine_first():逐行处理,优先使用date1的数值,当date1为NaN时自动填充date2的值,完美适配“单列有值另一列空”的场景。
  • dropna():过滤合并后列中的空值,避免列表包含NaN。
  • pd.to_datetime(..., format="%d/%m/%Y"):如果需要将字符串日期转为可操作的datetime对象,指定格式确保解析正确(因为原日期是日/月/年顺序)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 12:52:09