У меня есть фрейм данных со списком координат x и y. Я пытаюсь не запускать на нем функцию линейной регрессии статистики, но в целом она дает мне няни.
Фрейм данных выглядит следующим образом
x1 x2 x3 x4 y1 y2 y3 y4
0 6 5 4 1 2 3 7 6
1 5 5 4 9 4 3 8 2
и мой код выглядит так:
#slope,_,_,_,_=stats.linregress([-7,55,12,-38],[5,40,-10,-20]) #tested:works
df.loc[:,'slope1'] = df[['x1','x2','y1','y2']].apply(lambda x: stats.linregress([x[0],x[1]],[x[2],x[3]])[0])
df.loc[:,'slope2'] = df[['x3','x4','y3','y4']].apply(lambda x: stats.linregress([x[0],x[1]],[x[2],x[3]])[0])
# not working until linregress above works:
#df['angle'] = np.arctan((df['slope1'] - df['slope2']) / (1 + (df['slope1'] * df['slope2'])))
это производит:
x1 x2 x3 x4 y1 y2 y3 y4 slope1 slope2
0 6 5 4 1 2 3 7 6 NaN NaN
1 5 5 4 9 4 3 8 2 NaN NaN
Как я должен применить функцию к столбцу данных, чтобы он дал что-то отличное от nan?