2017-09-18 7 views
1

나는 데이터를 준비하기 위해 주피터 (Jupyter) 노트북에 몇 가지 기능을 쓰고 있지만, 실행하는 데는 상당한 시간이 걸릴 수 있습니다. myfunc 내가 얼마나 멀리 실행에 볼 수 있도록 상태 정보를 인쇄 할 경우iPython/Jupyter의 장기 실행 셀은 셀 출력을 어지럽히 지 않고 런타임 상태 정보를보고 할 수 있습니까?

In [*]: print "hello" 
     df['expensive_col'] = df.apply(myfunc, axis=1) 

유용 할 것이다. 이것의 단점은 Jupyter 출력 셀이 심각하게 혼란 스러울 것이라는 점입니다.

In [*]: print hello 
     df['expensive_col'] = df.apply(myfunc, axis=1) 

hello 
ix0 
ix1 
ix2 
... 
ix999 
... 
noisy output 
... 

장기 실행 Jupyter 셀의 상태 업데이트를 인쇄하여 출력 셀이 어수선하게 보이지 않게 할 수있는 방법이 있습니까?

예를 들어, IPython.display.clear_output()을 호출하여 인쇄 된 모든 데이터를 지울 수는 있지만 위의 예에서 값 비싼 물건을 보관하지 않고 더 자세한 대상 지우기를 수행하려고 할 수 있습니다.

답변

1
당신이 할 수있는 한 가지 간단한 일이 같은 대신 줄 바꿈의 캐리지 리턴으로 설정 end 매개 변수와 함께 print 함수를 호출하는 것입니다

: 출력을 어지럽히고없이

for i in range(100): 
    print('progress %i' % i, end='\r') 
    # things happen here 

효과적으로 이전 라인을 통해 기록을 들.

더 진보 된 접근 방식 (그리고 멋진 진행 표시 줄!)은 tqdm project을 확인하십시오.