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

求助:如何创建元素为9×i+j、索引0-5列x1-x55的Pandas DataFrame?

构造符合要求的Pandas DataFrame

你的需求是创建一个6行(索引0-5)、55列(列名x1到x55)的DataFrame,其中每个位置(i, x_j)的元素值为9*i + j。下面是两种实现方式:

方法一:利用Numpy广播快速生成

这种方法效率更高,适合大规模数据:

import pandas as pd
import numpy as np

# 定义索引和列名
index = range(6)  # 索引0到5
columns = [f'x{j}' for j in range(1, 56)]  # 列名x1到x55

# 用广播生成数值矩阵:将索引转为列向量,列序号转为行向量,自动扩展计算
i_arr = np.array(index).reshape(-1, 1)
j_arr = np.array(range(1, 56)).reshape(1, -1)
values = 9 * i_arr + j_arr

# 构建DataFrame
dt = pd.DataFrame(values, index=index, columns=columns)

方法二:用列表推导式逐行生成

如果不想依赖Numpy,可以用纯Python列表推导:

import pandas as pd

index = range(6)
columns = [f'x{j}' for j in range(1, 56)]

# 逐行生成数据:每个索引i对应的行是[9*i+1, 9*i+2, ..., 9*i+55]
data = [[9*i + j for j in range(1, 56)] for i in index]

dt = pd.DataFrame(data, index=index, columns=columns)

原代码的问题说明

你原来的代码用np.random.rand(10,10)生成了10行10列的随机数,列名只到x5,完全不符合需求。上面的代码直接替换了数值生成逻辑,同时修正了索引和列名的定义。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 08:08:31