pandas.rolling_corr이 실제로 어떻게 롤링 상관 관계를 계산하는지 이해하려고합니다. 지금까지 나는 항상 멍청한 행동을 해왔다. 나는 속도와 사용 편의성 때문에 팬더를 사용하는 것을 선호하지만 이전처럼 롤링 상관 관계를 얻을 수는 없습니다.팬더에서 롤링 상관 관계 이해하기
나는 두 numy 배열로 시작 :
c = np.array([1,2,3,4,5,6,7,8,9,8,7,6,5,4,3,2,1])
d = np.array([8,9,8])
가 지금은 상호 상관을 계산하고자하는 길이 3 창 내 배열 C의. 나는 롤 창 함수를 정의한다 : 생성 된 각각의 윈도우와 두 번째 원래 데이터 셋 간의 상관 관계를 계산한다. 이 방법은 잘 작동합니다 :
for win in rolling_window(c, len(d)):
print(np.correlate(win, d))
출력 :
[50]
[75]
[100]
[125]
[150]
[175]
[200]
[209]
[200]
[175]
[150]
[125]
[100]
[75]
[50]
내가 팬더와 그것을 해결하려고하면 :
a = pd.DataFrame([1,2,3,4,5,6,7,8,9,8,7,6,5,4,3,2,1])
b = pd.DataFrame([8,9,8])
에 상관없이 내가 DataFrame의 rolling_corr를 사용하는 경우 :
a.rolling(window=3, center=True).corr(b)
또는 팬더 r olling_corr :
pd.rolling_corr(a, b, window=1, center=True)
난 그냥 NaN을 한 무리의 수 :
이 0
0 NaN
1 0.0
2 NaN
3 NaN
4 NaN
5 NaN
6 NaN
7 NaN
8 NaN
9 NaN
10 NaN
11 NaN
12 NaN
13 NaN
14 NaN
15 NaN
16 NaN
누군가가 나에게 손을 줄 수 있습니까? 내가
a.values.ravel()
그러나 팬더 DataFrame 변환에서 얻은 NumPy와 배열을 병합하여 NumPy와 함께 문제를 해결할 수 있어요, 내가 팬더와 완전히 계산을 해결하고 싶습니다. 설명서를 검색했지만 찾고있는 답변을 찾지 못했습니다. 나는 무엇을 놓치고 있지 않느냐?
대단히 감사합니다.
D. 당신이하려는 계산은 다음과 dataframe에서 작동으로 간주 할 수 있습니다
고맙습니다. – mosegui