두 개의 열이 있습니다. 그들 사이의 차이가 0-10 일 사이인지 확인하고 싶습니다. 필드 중 하나에는 종종 Null 값이 포함됩니다.null 값과 날짜 비교
df['Diff'] = (df['Dt1'] - df['Dt2'])
def wdw(x):
if pd.notnull(x):
if type(x) !=long:
if type(timedelta(days=10)) != long:
if x > timedelta(days=10):
return 1
else:
return 0
df['Diff'].df(wdw)
나는 이것을 실행할 때 다음과 같은 오류가 발생합니다.
TypeError: can't compare datetime.timedelta to long
나는 df [ 'Diff']의 값을 볼 때 모두 timeleltas 인 것처럼 보입니다. 무슨 일이 벌어지고 있는거야? 두 날짜 필드의 차이를 기준으로 표시기를 만드는 것이 이보다 더 쉬워야합니다.
고마워요! 여전히 다음과 같은 오류가 발생합니다 : AttributeError : '모듈'객체에 'Timedelta'속성이 없습니다. – Chris
Timedeltas는 매우 새롭습니다. 버전 0.15에서 소개되었습니다. 나는 내가 쓴 것이 잘못되었다고 생각한다. datetime.timedeltas와 비교하는 방법이 있어야합니다. 나는 대답을 찾을 때 편집 할 것이다 ... – unutbu
좋아, 나는 틀린 것에 대해 틀렸다. :) NaT 때문에 datetime.timedeltas에 대한 vectorized 비교를 할 수 없다. 대신에'df [ 'Diff']'와 'np.timedelta64'를 벡터화 한 비교를 할 수 있습니다. 나는 위의 게시물을 편집하여 그 방법을 보여주었습니다. – unutbu