下面是一个示例熊猫数据框的示例。我试图找到两行中日期之间的差异(以第一行为基础):
PH_number date Type
H09879721 2018-05-01 AccountHolder
H09879731 2018-06-22 AccountHolder
如果两个日期之间的差在90天内,则应将这两行添加到新的熊猫数据框中。 date
列的类型为object
。
我该怎么做?
答案 0 :(得分:0)
使用pd.to_datetime
将date
列转换为datetime64[ns]
数据类型,然后按给定值减去:
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
答案 1 :(得分:0)
使用.diff()
:
df.date.diff()<=pd.Timedelta(90,'d')
0 False
1 True
Name: date, dtype: bool