【问题标题】:Difference between dates between corresponding rows in pandas dataframe熊猫数据框中相应行之间的日期差异
【发布时间】:2018-11-14 16:23:53
【问题描述】:

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

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

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

我该怎么做?

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    使用.diff():

    df.date.diff()<=pd.Timedelta(90,'d')
    
    0    False
    1     True
    Name: date, dtype: bool
    

    【讨论】:

      【解决方案2】:

      使用pd.to_datetimedate 列转换为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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-04-18
        • 1970-01-01
        • 2020-08-05
        • 1970-01-01
        • 2021-08-19
        • 1970-01-01
        • 1970-01-01
        • 2019-01-03
        相关资源
        最近更新 更多