创建索引为 0 到 5、列为 x1 到 x55 的 pd df。索引 𝑖 和“colj”列的值应为 9×𝑖+𝑗

问题描述 投票:0回答:1

不知道如何以9×𝑖+𝑗为条件调整数据框的元素

这就是我所拥有的。救命!

dt = pd.DataFrame(np.random.rand(10, 10), columns = ['x0', 'x1', 'x2', 'x3', 'x4', 'x5'], index = [0 , 1 , 2, 3, 4, 5])
dt
python arrays pandas dataframe list-comprehension
1个回答
0
投票

您可以通过首先创建行和列索引来创建数据框:

ridx = np.arange(6)
cidx = np.arange(1, 56)

您可以使用广播生成数据:

data = ridx[:, None] * 9 + cidx

以及使用

f-strings
:

进行列表理解的列名称
cols = [f'x{i}' for i in cidx]

然后创建您的数据框:

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

输出:

   x1  x2  x3  x4  x5  x6  x7  x8  x9  x10  x11  x12  ...  x44  x45  x46  x47  x48  x49  x50  x51  x52  x53  x54  x55
0   1   2   3   4   5   6   7   8   9   10   11   12  ...   44   45   46   47   48   49   50   51   52   53   54   55
1  10  11  12  13  14  15  16  17  18   19   20   21  ...   53   54   55   56   57   58   59   60   61   62   63   64
2  19  20  21  22  23  24  25  26  27   28   29   30  ...   62   63   64   65   66   67   68   69   70   71   72   73
3  28  29  30  31  32  33  34  35  36   37   38   39  ...   71   72   73   74   75   76   77   78   79   80   81   82
4  37  38  39  40  41  42  43  44  45   46   47   48  ...   80   81   82   83   84   85   86   87   88   89   90   91
5  46  47  48  49  50  51  52  53  54   55   56   57  ...   89   90   91   92   93   94   95   96   97   98   99  100

[6 rows x 55 columns]
© www.soinside.com 2019 - 2024. All rights reserved.