pandas處理日期時間
阿新 • • 發佈:2019-01-30
兩個不是日期型別的資料的差值
遇到的問題:
一個數據表的兩列,原始資料為float64,如20150101.0
需要求兩個日期的差值,判斷是否超過多少天(9)
一些基本的知識:
檢視Date列有多少行的缺失值
off_train['Date'].isnull().sum()
選擇任意行出現空值的資料
off_train[off_train.T.isnull().any()]
判斷這一列所有行是否是空值
off_train['Coupon_id'].isnull().values
解決方法:
由於是要計算差值所以兩者均不能為null。
Date_temp=off_train[off_train['Date'].notnull()]['Date']
Received_temp=off_train[off_train['Date_received'].notnull()&off_train['Date'].notnull()]['Date_received']
也就是過濾一下資料,使用邏輯與過濾掉多列
過濾資料還經常使用到的方法是:isin()方法去除小數點轉換為str
Date_temp=Date_temp.astype(int)
Received_temp=Received_temp.astype(int)
Date_temp=pd.to_datetime(Date_temp.astype(str))
Received_temp=pd.to_datetime(Received_temp.astype(str))計算差值,並判斷
Date_diff=Date_temp-Received_temp
result_diff=np.where(Date_diff<=pd.Timedelta(days=9),'1','0')