pandas處理日期時間

2021-08-17 02:03:31 字數 1033 閱讀 3171

遇到的問題:

乙個資料表的兩列,原始資料為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')

pandas處理時間和日期型別資料

匯入乙個時間相關的資料集 import numpy as np import pandas as pd importing a dataset url data pd.read csv url,header none 檢視資料的屬性 data.head 3 01230 707 24 05 00 00...

pandas 時間處理

year month day 是 datetime 標準形式 可以用 datetime.dt.day 取到 day 如果是 datetime 相減,得到兩個時間差的天數,型別變為 timedelta 要用 dt.days 獲取天數 如果是一串數字表達的時間 沒有分隔符 可以用to datetime ...

pandas處理日期缺失

兩種方法實現 1 dataframe.reindex 調整dataframe的索引以適應新的索引 2 dataframe.resample,可以對時間序列重新取樣,支援補充缺失值 import pandas as pd import os matplotlib inlinedf pd.datafra...