首页 > 解决方案 > 熊猫数据框中相应行之间的日期差异

问题描述

以下是示例熊猫数据框的示例。我试图找出两行中日期之间的差异(以第一行为基础):

PH_number   date        Type
H09879721   2018-05-01  AccountHolder
H09879731   2018-06-22  AccountHolder

如果两个日期之间的差异在 90 天内,则应将这两行添加到新的 pandas 数据框中。该date列的类型为object

我怎样才能做到这一点?

标签: pythonpandasdataframe

解决方案


使用然后减去给定的date列转换为datetime64[ns]数据类型:pd.to_datetime

df['date'] = pd.to_datetime(df['date'])

#if comparing with only 1st row
mask = (df['date']-df.loc[0,'date']).dt.days<=90
# alternative mask = (df['date']-df.loc[0,'date']).dt.days.le(90)

#if comparing with immediate rows.
mask = df['date'].diff().dt.days<=90
# alternative mask = df['date'].diff().dt.days.le(90)

df1 = df.loc[mask,:] #gives you required rows with all columns

推荐阅读