ValueError: Unable to coerce to DataFrame, shape must be (407, 173): given (173, 407)

ValueError: Unable to coerce to DataFrame, shape must be (407, 173): given (173, 407)
请问该如何处理?

# 定义多层感知机类
class MLP:
    def __init__(self, input_size, hidden_size, output_size, learning_rate, reg_lambda):
        self.input_size = input_size
        self.hidden_size = hidden_size
        self.output_size = output_size
        self.learning_rate = learning_rate
        self.reg_lambda = reg_lambda

        # 初始化权重和偏差
        self.W1 = np.random.randn(hidden_size, input_size) / np.sqrt(input_size)
        self.b1 = np.zeros((hidden_size, 1))
        self.W2 = np.random.randn(output_size, hidden_size) / np.sqrt(hidden_size)
        self.b2 = np.zeros((output_size, 1))

    # 前向传播
    def forward(self, X):
        self.z1 = np.dot(self.W1, X) + self.b1
        self.a1 = sigmoid(self.z1)
        self.z2 = np.dot(self.W2, self.a1) + self.b2
        self.a2 = sigmoid(self.z2)
        return self.a2

    # 反向传播
    def backward(self, X, y, output):
        delta3 = output - y
        dW2 = np.dot(delta3, self.a1.T) + self.reg_lambda * self.W2
        db2 = np.sum(delta3, axis=1, keepdims=True)
        delta2 = np.dot(self.W2.T, delta3) * sigmoid(self.z1) * (1 - sigmoid(self.z1))
        dW1 = np.dot(delta2, X.T) + self.reg_lambda * self.W1
        db1 = np.sum(delta2, axis=1, keepdims=True)
        return dW1, db1, dW2, db2

    # 训练模型
    def train(self, X_train, y_train, X_test, y_test, epochs):
        for i in range(epochs):
            # 前向传播
            output = self.forward(X_train.T)
            # 计算损失函数
            loss = np.mean((output - y_train) ** 2) + (self.reg_lambda / 2) * (np.sum(self.W1 ** 2) + np.sum(self.W2 ** 2))
            # 反向传播
            dW1, db1, dW2, db2 = self.backward(X_train, y_train, output)
            # 更新权重和偏差
            self.W1 -= self.learning_rate * dW1
            self.b1 -= self.learning_rate * db1
            self.W2 -= self.learning_rate * dW2
            self.b2 -= self.learning_rate * db2

你的df的行列放反了,行当成了列,列当成了行