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

如何在Pandas DataFrame中生成符合指定规则的列数据?

正确解决方案

原代码问题分析

你的测试代码存在几个关键问题:

  • 每次循环都会创建仅包含一行数据的DataFrame,且通过to_csv直接覆盖文件,最终只会保留最后一次循环的结果
  • 变量d1=6、d2=8和需求中的a=2、b=3完全不匹配,循环范围错误
  • 创建DataFrame的方式错误,pd.DataFrame((i,j), columns=...)的写法会导致数据结构不符合列要求

方法一:列表推导式生成数据

直接生成符合规则的列数据,再创建DataFrame:

import pandas as pd

a = 2
b = 3

# 生成Column A的数据:1到a每个数重复b次
col_a = [num for num in range(1, a+1) for _ in range(b)]
# 生成Column B的数据:1到b重复a次
col_b = list(range(1, b+1)) * a

# 创建目标DataFrame
df = pd.DataFrame({
    'Column A': col_a,
    'Column B': col_b
})

# 保存到CSV(如需)
df.to_csv('prediction_test_123.csv', index=False)

方法二:利用MultiIndex生成(更简洁)

通过pd.MultiIndex.from_product生成笛卡尔积,快速转换为目标结构:

import pandas as pd

a = 2
b = 3

# 生成1到a、1到b的笛卡尔积索引
multi_index = pd.MultiIndex.from_product(
    [range(1, a+1), range(1, b+1)],
    names=['Column A', 'Column B']
)

# 转换为DataFrame并重置索引
df = multi_index.to_frame(index=False)

# 保存到CSV(如需)
df.to_csv('prediction_test_123.csv', index=False)

两种方法运行后都会生成你需要的表格结构:

Column AColumn B
11
12
13
21
22
23

内容的提问来源于stack exchange,提问作者Dr. Krishna Kant Gupta

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 17:06:19