如何重新排列矩阵
How to rearrange matrix
我有以列表形式读入的数据:
#Data[0] = X1 Y1a Y2a Y3a Y4a
#Data[1] = X2 Y1b Y2b Y3b Y4b
for i in range(len(Data)): #len(Data) = 25, say
X_data.append(Data[i][0])
for j in range(int(math.sqrt(len(Data[0] - 1)))):
Y_data.append(Data[i][j+1])
这给了我一个 Y_data 长度列表 (4 * len(Data)) = 100
但是我希望 Y_data 成为一个 2x2(x25) 列表,而不是一个单一的维度列表:
Y_data[Xval_a][0][0] = Y1a
Y_data[Xval_a][1][0] = Y2a
Y_data[Xval_a][0][1] = Y3a
Y_data[Xval_a][1][1] = Y4a
其中 Xval 是我来自 Data
的 25 个指标之一
我还希望它与我拥有的 Y 数据值的数量成比例。例如,这里我有 Y1 - Y4,所以需要一个 2x2 数组,但我也可以有 Y1 - Y9 或 Y1 - Y16。
我试过np.reshape但我似乎没有正确使用它
以下是否有效?
Data = np.array(Data)
Data = np.reshape(Data, (2,2,25))
我有以列表形式读入的数据:
#Data[0] = X1 Y1a Y2a Y3a Y4a
#Data[1] = X2 Y1b Y2b Y3b Y4b
for i in range(len(Data)): #len(Data) = 25, say
X_data.append(Data[i][0])
for j in range(int(math.sqrt(len(Data[0] - 1)))):
Y_data.append(Data[i][j+1])
这给了我一个 Y_data 长度列表 (4 * len(Data)) = 100
但是我希望 Y_data 成为一个 2x2(x25) 列表,而不是一个单一的维度列表:
Y_data[Xval_a][0][0] = Y1a
Y_data[Xval_a][1][0] = Y2a
Y_data[Xval_a][0][1] = Y3a
Y_data[Xval_a][1][1] = Y4a
其中 Xval 是我来自 Data
的 25 个指标之一我还希望它与我拥有的 Y 数据值的数量成比例。例如,这里我有 Y1 - Y4,所以需要一个 2x2 数组,但我也可以有 Y1 - Y9 或 Y1 - Y16。
我试过np.reshape但我似乎没有正确使用它
以下是否有效?
Data = np.array(Data)
Data = np.reshape(Data, (2,2,25))