pandas处理日期时间

xiaoxiao2021-02-28  33

两个不是日期类型的数据的差值

遇到的问题: 一个数据表的两列,原始数据为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')

转载请注明原文地址: https://www.6miu.com/read-2622713.html

最新回复(0)