경사 = B 0 + B 1 * X 또한 상관 계수를 이용하여 계산 될 수있다 : B- 1 = CORR (X, Y) * σ X/σ Y
σ를 만들 NumPy와의 newaxis 사용 X/Y σ 매트릭스 :
df.corr() * (df.std().values/df.std().values[:, np.newaxis])
Out[59]:
A B C
A 1.000000 -0.686981 0.252078
B -0.473282 1.000000 -0.263359
C 0.137670 -0.208775 1.000000
곳 df
은 다음과 같습니다
df
Out[60]:
A B C
0 5 6 9
1 4 4 2
2 7 3 5
3 4 3 9
4 6 5 3
5 3 8 6
6 2 8 1
7 7 2 7
8 4 1 5
9 1 6 6
그리고 이것은 확인을위한 것입니다 : 나는 당신이 여기에 버그 미안 해요
res = []
for col1, col2 in itertools.product(df.columns, repeat=2):
res.append(linregress(df[col1], df[col2]).slope)
np.array(res).reshape(3, 3)
Out[72]:
array([[ 1. , -0.68698061, 0.25207756],
[-0.47328244, 1. , -0.26335878],
[ 0.1376702 , -0.20877458, 1. ]])
하지만 문서는 아직 의견이 없습니다. 귀하의 [numpy intro docs] (http://stackoverflow.com/documentation/numpy/revisions/1296?exampleId=6738) 주제에 대한 편집을 승인했습니다. 나는 ipython 스타일의 출력이 코드에 있어서는 안된다는 데 동의하며, 현재 버전 (주석 처리 된 출력 포함)은 의미가 있다고 생각한다. 어쨌든 바닐라 파이썬 인터프리터의 출력 만 표시해야하며, 많은 사람들은 ipython/jupyter를 모르고 그 결과로 혼란스러워합니다. –