4 년 동안 데이터로 색인 된 500 개의 칼럼을 가진 데이터 프레임을 가지고 있습니다.각 벡터 행에 대해 인덱스 별 파이썬 상관 관계 데이터 프레임 계산
| 날짜 | A | AAL | AAP | AAPL | ABC ......
| 1/2/2004 | 18.442521 | 25.954398 | 1.38449 | 11.528444 ......
| 1/5/2004 | 18.922795 | 25.718507 | 1.442394 | 11.919131 ...
| 1/6/2004 | 19.518334 | 26.177538 | 1.437189 | 11.870028 ....
. . . 등등 ...
각 날마다 피어슨 상관 행렬을 계산하고 싶습니다. R에 의해 읽을 수있는 가장 공간 효율적인 방법으로 날짜별로 행렬을 저장하고 싶습니다. (지금은 목표가 Excel의 인덱스 날짜별로 별도의 시트입니다. 제안 사항은 공개됩니다.)
방법, 그러나 이것은 가장 유망한 것 같았습니다. corr()을 df.groupby에 적용 할 수 없었기 때문입니다.
그러나이 방법은 빈 데이터 프레임을 반환했지만 지금은 붙어 있습니다! 반복을 포함하지 않는 메소드를 찾고 있습니다.
def do_Corr(df_group):
"""Apply the function to each group in the data and return one result."""
X = df_group.corr()
return X
df.groupby([df.index.year,df.index.month,df.index.day]).apply(do_Corr).dropna()
미안하지만, 어떤 종류의 상관 행렬을 생성하고 싶은지 이해할 수 없습니다. "행렬을 날짜별로 저장하고 싶다"는 것은 무엇을 의미합니까? 각 날짜에 대해 하나의 행렬을 원하십니까? 그렇다면 벡터는 무엇입니까? (날짜를 수정하면 행이 하나만 생깁니다.) 예를 들어 자세한 설명을 제공해 주시겠습니까? 예 : 매우 짧은 버전의 데이터 프레임과 수행하려는 계산 (아마도 루프 등으로 우리가 목표를 이해할 수있을 것입니다.) –
예, 각 날짜에 대해 하나의 매트릭스. 벡터는 한 행입니다 (예 : 1/4/4 (18.442521, 25.954398, 1.38449, 11.528444, ...). 각 값은 다른 주가에 해당합니다. 질문에 이미 데이터 프레임의 매우 짧은 버전이 있습니다! –
한 행은 하나의 벡터입니다. 맞습니까? 상관 관계를 계산하려면 두 벡터가 필요합니다. 상관 행렬을 계산하려면 몇 가지 벡터가 필요합니다. 그래서 나는 아직도 당신이 무엇을 계산하려고하는지 이해하지 못합니다. –