0
Visits2라는 20M 레코드가 포함 된 팬더 데이터 프레임이 있습니다. 다음은 Visits2의 레코드 샘플입니다.데이터 프레임을 통해 반복되는 최적화 된 방법
num srv_edt inpt_flag
000423733A 8/15/2016 N
001013135D 7/11/2016 N
001013135D 7/11/2016 N
001047851M 4/29/2016 N
001067291M 2/29/2016 Y
001067291M 8/3/2016 N
001067291M 8/3/2016 N
001067291M 9/4/2016 N
001070817A 5/25/2016 N
001070817A 5/25/2016 Y
001072424A 1/13/2016 N
001072424A 2/17/2016 Y
001072424A 3/21/2016 N
001072424A 3/21/2016 N
001072424A 5/10/2016 N
001072424A 6/6/2016 N
난 srv_edt가 NUM 군에서 발생 제는 N
와 inpt_any 할당 코드 아래 실행하고있다. inpt_flag의 값이 이미 Y
인 경우 inpt_flag에 Y
을 할당합니다.
이것은 잘 돌아가고 있지만, 20M 볼륨으로 생각하면 실행하는 데 시간이 걸립니다. 누군가, 데이터 프레임을 반복하는 방법을 제안 해주십시오.
prev_srv_edt = " "
for vv in Visits2.itertuples():
inpt_any = 'N'
if (prev_srv_edt != vv[1]):
prev_srv_edt = vv[1]
Visits2.loc[vv[0],'inpt_any'] = 'N'
if (vv[2] == 'Y'):
Visits2.loc[vv[0],'inpt_any'] = 'Y'
내가 list(zip(visit['srv_edt'],visit['inpt_flag']))
와 함께 시도 않았다,하지만 난 zip
또한 실행하는 데 많은 시간을 복용 참조하십시오.
당신의 출력을 같이하기로 무엇을 – piRSquared