당신은 사용할 수 있습니다
(y['Datediff']/np.timedelta64(1, 'D')).astype(int)
또는 :
y['Datediff'].dt.days
을 샘플 : 큰 DataFrame 첫 번째 방법에서
import pandas as pd
import numpy as np
y = pd.DataFrame({ 'datePulled': ['2016-01-05','2016-01-04'],
'Dates': ['2016-01-01','2016-01-02']})
y['datePulled'] = pd.to_datetime(y['datePulled'])
y['Dates'] = pd.to_datetime(y['Dates'])
y['Datediff'] = y['datePulled'] - y['Dates']
print (y)
#output is float, cast to int
y['Datediff1'] = (y['Datediff']/np.timedelta64(1, 'D')).astype(int)
y['Datediff2'] = y['Datediff'].dt.days
print (y)
Dates datePulled Datediff Datediff1 Datediff2
0 2016-01-01 2016-01-05 4 days 4 4
1 2016-01-02 2016-01-04 2 days 2 2
가 빠르다 :
,
y = pd.concat([y]*1000).reset_index(drop=True)
In [236]: %timeit (y['Datediff']/np.timedelta64(1, 'D')).astype(int)
1000 loops, best of 3: 789 µs per loop
In [237]: %timeit y['Datediff'].dt.days
100 loops, best of 3: 15.3 ms per loop
다음과 같은 오류를 가져 오기 : 역 추적 (마지막으로 가장 최근에 호출) : 파일 "", 라인 1, 형식 오류에 잘못된 날짜 시간 단위 "D"를 작동 메타 데이터 –
mangodreamz
에! 감사합니다 jezrael – mangodreamz