3
롤링 계산을 수행하는 5000000 개가 넘는 큰 데이터 프레임이 있습니다.다른 길이의 판다 데이터 프레임이있는 롤 창에서 가중 합 계산
df = pd.DataFrame(np.randn(10000,1), columns = ['rand'])
sum_abs = df.rolling(5).sum()
같은 계산을하고 싶지만 가중 합계를 추가하고 싶습니다.
df2 = pd.DataFrame(pd.Series([1,2,3,4,5]), name ='weight'))
df3 = df.mul(df2.set_index(df.index)).rolling(5).sum()
그러나 길이 불일치 예상 축에 5 개의 요소 오류가 발생합니다. 모든 것을 목록으로 변환하면 가능하면 [a *b for a, b in zip(L, weight)]
과 같은 것을 할 수 있지만 데이터 프레임에 보관하고 싶습니다. 서로 다른 크기의 프레임에 대해 곱할 수있는 방법이 있습니까? 아니면 내가 곱셈 한 데이터 집합의 길이를 숫자 집합으로 반복해야합니까? 이 작업을 수행하는
두 번째 해결책은 정말 멋지다. 그렇게 생각할 수있는 소품. – user3170242
@ user3170242 감사합니다! – piRSquared