【问题标题】:How to add values from one column to timestamp column as days?如何将一列中的值添加到时间戳列作为天?
【发布时间】:2021-11-22 09:41:03
【问题描述】:

我有一张桌子 df:

date                     day       
2021-07-25                1 
2021-07-29                1 
2021-07-30                1 

我想这样过滤:

df[df['device_install_date'] + df['lifetime'] < '2021-07-27']

但它带来了错误:

TypeError: can only concatenate str (not "int") to str

我该怎么做?日期列中的值应添加为日期。 Column day has type pandas.core.series.Series

【问题讨论】:

    标签: python python-3.x dataframe filter timestamp


    【解决方案1】:

    为此,您必须确保使用正确的数据类型。在您的示例中,我假设日期列是日期时间,因此为了按天递增日期列,您需要使用时间增量,然后将日期与日期进行比较。

    df = pd.DataFrame([
        {'date':'2021-07-25','days':1},
        {'date':'2021-07-29','days':1},
        {'date':'2021-07-30','days':1}
    ])
    
    df['date'] = pd.to_datetime(df['date'])
    df['days'] = pd.to_timedelta(df['days'],unit='D')
    query = df[(df['date']+df['days']).dt.date<pd.to_datetime('2021-07-27').date()]
    print(query)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      • 2021-11-01
      • 2017-05-23
      • 1970-01-01
      • 2016-12-16
      相关资源
      最近更新 更多