我需要执行以下计算。
(1/1-coefficient)*(Y.T) - (coefficient/1-coefficient)*(X.T)
请考虑以下代码:
def function(data):
Y = np.nan_to_num(np.asmatrix(data)).T
X = np.nan_to_num(np.asmatrix(data.shift(1))).T
M = lm.LinearRegression().fit(X, Y)
result = (np.dot((1/1-M.coef_), Y.T)) - (np.dot(M.coef_ / 1-M.coef_, X.T))
return pd.DataFrame(result.T, columns = data.columns, index = data.index)
当给定的 Pandas 数据帧是 NxM 时,我如何有效地执行相同的过程(最好避免 for
循环)?在这种情况下,回归系数数组将为 1xM,每列是 X 的 i 列和 Y 的 i 列之间的系数。