2014-03-31 4 views
1

팬더 데이터 프레임을 반복하여 텍스트 파일로 출력하고 있습니다. 그러나, 그것은 정말 느린 것 같습니다 (데이터 프레임의 행 수 ~ 80,000). 속도를 높이는 방법이 있습니까?팬더 데이터 프레임을 통해 반복 속도가 느림

for count, row in df.iterrows(): 
    print idx 
    idx += 1 

    # Extract data 
    sid = row['ID'] 
    val = row['VALUE_'] 
    slp = row['Slope'] 

    if(slp <= 20): 
     out_file.write('{0:10d} "InputFiles//data//{1:d}.sol"\n'.format(sid,val))  

답변

5

당신은 행을 Boolean indexing를 사용하기보다는 반복 데이터를 부분 집합 할 수

subset_df = df[df['slp'] <= 20] 

그런 다음이 서브 세트 DF 이상 루프 함수를 사용하여 그것을 쓸 수 있습니다.

관련 문제