Python custom function using rolling_apply for pandas에 이어 rolling_apply
을 사용합니다. 약간이 걸릴 기능을 이전Python pandas rolling_apply 함수에 2 열 입력
import pandas as pd
import numpy as np
import random
tmp = pd.DataFrame(np.random.randn(2000,2)/10000,
index=pd.date_range('2001-01-01',periods=2000),
columns=['A','B'])
과 같은 설정을 생성하지만 변경
: 내 기능을 진행했지만, 나는 두 개 이상의 입력으로 열을 필요로하는 기능을 처리하기 위해 고군분투 열.
def gm(df,p):
df = pd.DataFrame(df)
v =((((df['A']+df['B'])+1).cumprod())-1)*p
return v.iloc[-1]
그것은 다음 오류 발생 :
pd.rolling_apply(tmp,50,lambda x: gm(x,5))
KeyError: u'no item named A'
I 람다 함수에 대한 입력은 길이 (50)과 첫 번째 열의의 ndarray이기 때문이라고 생각을하고, 두하지 않는다 열을 입력으로 사용합니다. 두 열을 입력으로 가져와 rolling_apply
함수에서 사용하는 방법이 있습니까? 또 어떤 도움을 크게 감상 할 수
고맙지 만'gm'의 예시적인 기능은 단순히 모의 예이었다 .. . so 나는 아직도 주위에 해결하려고하는 것이 두 개 이상의 열을 얻는 것을 알고 싶어합니다 ... –