2017-01-06 4 views
0

timedelta64 형식의 dueDate 필드로 구성된 Python Pandas 데이터 프레임이 있습니다. 또한 데이터 프레임에 작업이 완료되었는지 여부에 대한 부울이있는 열이 있습니다. 작업이 완료되지 않고 기한이 (오늘보다 큼) 지난 경우Python pandas 데이터 프레임에서 날짜 간격을 조건부로 계산하는 방법은 무엇입니까?

from datetime import date 
df = pd.DataFrame(data = [pd.date_range('1/1/2017', periods = 6), [True if i%2 == 0 else False for i in range(6)]]).T 
df.columns = ['dueDate', 'completed'] 

, 나는이 값을 저장하는 열라고 daysLate의 행을 채울합니다. 그렇지 않으면 그 행을 NaN으로하고 싶습니다. 이 같은 접근 문제의 우아한 또는 모범 사례 방법이 있는지 경우-문을 각 행을 반복하고 여러 적용을 제외

Pandas dataframe desired output

, 궁금?

+0

기한이 오늘보다 의미 df['daysLate'] = np.nandf['daysLate'] = np.NaT에 변경할 수 있습니다, 내가 맞다? – piRSquared

답변

1

이게 당신이 찾고 있는게 있나요? 사실

   dueDate completed daysLate 
0 2017-01-01 00:00:00  True  NaT 
1 2017-01-02 00:00:00  False  NaT 
2 2017-01-03 00:00:00  True  NaT 
3 2017-01-04 00:00:00  False  NaT 
4 2017-01-05 00:00:00  True  NaT 
5 2017-01-06 00:00:00  False  NaT 
6 2017-01-07 00:00:00  True  NaT 
7 2017-01-08 00:00:00  False 2 days 
8 2017-01-09 00:00:00  True  NaT 
9 2017-01-10 00:00:00  False 4 days 

, 당신은 NaT로 확인하는 경우가 numpy 가져 오기를 건너 뛰고

이 통과
+0

네, 완벽합니다. 나는 이것을 알아 내지 못해서 어리 석다. 고맙습니다! –

+0

문제 없습니다. 천만에요. – Leb

관련 문제