Quiero obtener pendientes del conjunto de datos en el marco de datos (ya sea usando el modelo de regresión lineal o el modelo sk-learn).
df1: ABCD 0 15 25 55 100 1 15.5 25.5 56 101 2 14.8 24.5 54.2 99.8 3 15.5 25.5 55.5 102 4 16 26 57 108
Quiero obtener pendientes de cada dolumna ('A', 'B', 'C', 'D') en forma de pd.Series. ¿Me puedes ayudar con esto? Gracias.
El resultado que quiero es algo como a continuación (¡utilicé solo números ficticios, no pendientes reales!):
slopes: A 2.5 B 2.8 C 3.1 D 3.3
Creo que esto lo hace, es una regresión lineal simple con numpy
import numpy as np slopes = df.apply(lambda x: np.polyfit(df.index, x, 1)[0]) >>> slopes A 0.20 B 0.20 C 0.35 D 1.70
Y si quieres visualizar los datos y las pendientes ajustadas:
for i in df.columns: plt.scatter(df.index, df[i], label=i) plt.plot(np.polyval(np.polyfit(df.index, df[i], 1), df.index)) plt.legend() plt.show()