使用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
相关产品推荐
相关产品推荐

