데이터 프레임에서 기능을 생성하고 이러한 기능을 데이터 프레임에 열로 추가하는 코드 작업 중입니다.특징 생성을 위해 pandas 데이터 프레임 반복 사용 방지
문제는 내가 주어진 튜플에 대해 이전 튜플 중 5 개가 해당 튜플에 해당하는 기능을 생성 할 수 있도록 시계열로 작업하고 있습니다.
lookback_period = 5
df['feature1'] = np.zeros(len(df)) # preallocate
for index, row in df.iterrows():
if index < lookback_period:
continue
slice = df[index - lookback_period:index]
some_int = SomeFxn(slice)
row['feature1'] = some_int
명시 적으로 모든 행 통해 반복하고 공격 태도를 보여준없이이 코드를 실행하는 방법이 있나요?
한 가지 방법은 df['column_name'].shift()
을 사용하여 여러 지연된 열을 생성하여 모든 필요한 정보가 각 행에 포함되도록하는 것이지만 데이터 집합이 크기 때문에 (수백만 행) 내 컴퓨터의 메모리가 신속하게 처리하기 어렵습니다.
당신이 [.loc()''(살펴본 다음 https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.loc.html에 발생합니다)? 당신은'my_df.loc [ 'CONDITION_HERE', 'COLUMN_TO_CHANGE] ='VALUE_HERE'' 시도해 볼 수 있습니다. – MattR
잘 알고 있는데 어떻게하면 마지막 lookback_period 튜플에서 작업을 실행할 수 있습니까? – hunter2
'.loc'과 함께'.iloc'을 사용해야 할 수도 있습니다. 예상 출력에 약간 혼란 스럽습니다. 어쩌면 샘플 데이터 프레임과 샘플 원하는 결과를 추가 할 수 있습니까? – MattR