Python pandas如何实现每1000行新增一列递增日期
实现方案
直接使用pandas内置的向量化操作即可高效完成需求,性能远高于手动Excel操作:
核心逻辑
- 按行索引每1000行划分为同一组,组号从0开始连续递增
- 生成和组数长度一致的逐日递增日期序列,起始日期设为你需要的2021-04-01
- 将组号映射为对应日期,格式化后赋值给新列
d
完整可运行代码
import pandas as pd # 1. 按1000行生成分组编号,0~999行对应组号0,1000~1999行对应组号1,以此类推 group_no = df.index // 1000 # 2. 生成匹配组数的递增日期序列 date_seq = pd.date_range(start="2021-04-01", periods=group_no.nunique()) # 3. 映射为要求的日期格式(4/1/21 无前置零)后赋值给新列 df["d"] = group_no.apply(lambda x: date_seq[x].strftime("%m/%d/%y").lstrip("0").replace("/0", "/"))
特殊场景适配
如果你的DataFrame行索引不是从0开始的连续整数,先执行一次索引重置即可:
df = df.reset_index(drop=True) # 再执行上面的逻辑
内容的提问来源于stack exchange,提问作者max
相关产品推荐
相关产品推荐

