如何在pandas DataFrame的指定列中填充从今日开始的日期序列?
Pandas DataFrame日期填充实现方案
核心需求
为给定DataFrame的C列填充从今日开始的连续日期,日期格式与B列的日.月.年格式保持一致。
实现代码
写法1:列表推导式(适合小体量数据)
import pandas as pd from datetime import datetime, timedelta # 初始化示例DataFrame df = pd.DataFrame({ 'N': ['1', '2', '3', '4'], 'B': ['16.11.2021', '17.11.2021', '18.11.2021', '19.11.2021'], 'C': ['nan', 'nan', 'nan', 'nan'] }) # 填充C列日期 df['C'] = [(datetime.today() + timedelta(days=i)).strftime('%d.%m.%Y') for i in range(len(df))]
写法2:pandas向量化操作(适合大体量数据,性能更高)
df['C'] = pd.date_range( start=datetime.today(), periods=len(df), freq='D' # 按天生成连续日期 ).strftime('%d.%m.%Y')
格式说明
strftime('%d.%m.%Y')用于指定输出日期格式,和示例B列格式完全匹配:
%d:两位数字表示的日期(如11日对应11)%m:两位数字表示的月份(如3月对应03)%Y:四位数字表示的年份(如2024年对应2024)
提示:如果需要生成其他间隔的日期序列,只需要修改
freq参数即可,比如freq='W'代表按周生成、freq='M'代表按月生成。
内容的提问来源于stack exchange,提问作者asymon
相关产品推荐
相关产品推荐

