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

如何用Python Pandas生成带依赖式日期列的DataFrame

生成带销售、发货、交付日期的Pandas DataFrame

实现步骤与代码

1. 导入依赖库

需要用到pandas处理表格数据,numpy生成随机数:

import pandas as pd
import numpy as np

2. 生成2022年的50个随机销售日期

先定义2022年的起止日期,再通过随机天数偏移生成目标日期:

# 定义2022年时间范围
start_date = '2022-01-01'
end_date = '2022-12-31'

# 计算起止日期间的总天数
total_days = (pd.to_datetime(end_date) - pd.to_datetime(start_date)).days

# 生成50个随机日期并创建DataFrame
random_day_offsets = np.random.randint(0, total_days + 1, size=50)
df = pd.DataFrame({
    'Date of sale': pd.to_datetime(start_date) + pd.to_timedelta(random_day_offsets, unit='D')
})

3. 生成依赖型的发货与交付日期

分别在销售日期、发货日期基础上追加随机天数(示例中发货延迟设为1-7天,交付延迟设为1-10天,可按需调整范围):

# 发货日期:销售日期 + 1-7天随机延迟
df['Date of shipment'] = df['Date of sale'] + pd.to_timedelta(np.random.randint(1, 8, size=50), unit='D')

# 交付日期:发货日期 + 1-10天随机延迟
df['Date of delivery'] = df['Date of shipment'] + pd.to_timedelta(np.random.randint(1, 11, size=50), unit='D')

4. 查看结果

执行df.head()可查看前5行示例数据,输出类似:

Date of sale Date of shipment Date of delivery
0   2022-04-02       2022-04-06        2022-04-09
1   2022-09-18       2022-09-22        2022-09-27
2   2022-01-15       2022-01-19        2022-01-21

关键提示

  • 随机延迟的天数范围可通过修改np.random.randint()的参数调整,比如想让发货延迟在3-10天,就改成np.random.randint(3, 11, size=50)
  • 所有日期列自动转为datetime64类型,支持后续的日期筛选、运算等操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 23:34:58