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

基于两个不等长列表创建DataFrame的方法求助

解决方案

方法一:使用itertools.product生成笛卡尔积

通过生成两个列表的所有配对组合,直接创建目标DataFrame:

import pandas as pd
from itertools import product

# 定义原始列表
list1 = ["apple","banana"]
list2 = ["M","T","W","TR","F","S"]

# 生成fruit和day的全部配对
all_combinations = product(list1, list2)
# 转换为指定列名的DataFrame
result_df = pd.DataFrame(all_combinations, columns=["fruit", "day"])

方法二:使用Pandas交叉连接(Cross Merge)

如果list2原本是列格式数据源(比如Excel中的单列),可先转为DataFrame,再通过交叉连接实现需求:

import pandas as pd

# 将列格式的日期数据转为DataFrame
df_days = pd.DataFrame({"day": ["M","T","W","TR","F","S"]})
# 将水果列表转为DataFrame
df_fruits = pd.DataFrame({"fruit": ["apple","banana"]})

# 执行交叉连接生成所有组合
result_df = df_fruits.merge(df_days, how="cross")

两种方法最终都会生成你需要的两列DataFrame,每个水果会与所有日期一一配对。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 12:55:15