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

如何用pandas基于日期范围与列表初始化时间序列DataFrame

你可以直接用pandas内置的MultiIndex.from_product方法生成两个集合的笛卡尔积,再转为DataFrame即可,完整实现代码如下:

首先确保你已经导入了依赖库:

import pandas as pd
from datetime import date

使用你已生成的日期范围和列表做组合:

# 你已有的基础数据
date_range = pd.date_range(start='10/29/2021', end=date.today())
l = ['a','b','c']

# 生成全组合DataFrame
df = pd.MultiIndex.from_product(
    iterables=[date_range, l],
    names=['date', 'category']
).to_frame(index=False)

代码说明:

  • pd.MultiIndex.from_product会接收一组可迭代对象,自动生成所有元素的配对组合
  • names参数可以直接指定最终生成的DataFrame的列名,和传入iterables的顺序一一对应
  • to_frame(index=False)会将生成的多索引直接转为普通DataFrame,同时不保留索引列

如果你更习惯用表连接的方式实现,也可以用pandas的交叉连接写法(要求pandas版本≥1.2.0),输出结果和上面的写法完全一致:

df_date = pd.DataFrame({'date': date_range})
df_l = pd.DataFrame({'category': l})
df = df_date.merge(df_l, how='cross')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 08:24:04