【问题标题】:Python Pandas DateOffset using value from another columnPython Pandas DateOffset 使用来自另一列的值
【发布时间】:2014-07-18 00:04:02
【问题描述】:

我在想这会很容易,但下面的内容并不适合我想要的。只是尝试通过使用另一列中的值将天数添加到预先存在的日期时间列来计算新的日期列。我下面的“偏移”列只有 1 位数字。

df['new_date'] = df['orig_date'].apply(lambda x: x + pd.DateOffset(days=df['offset']))

错误:unsupported type for timedelta days component: Series

谢谢,

【问题讨论】:

    标签: python pandas time-series


    【解决方案1】:
    In [12]: df['C'] = df['A'] + df['B'].apply(pd.offsets.Day)
    
    In [13]: df
    Out[13]: 
               A  B          C
    0 2013-01-01  0 2013-01-01
    1 2013-01-02  1 2013-01-03
    2 2013-01-03  2 2013-01-05
    3 2013-01-04  3 2013-01-07
    4 2013-01-05  4 2013-01-09
    

    【讨论】:

    • 真的很感激。
    • 很好的解决方案,但它不是矢量化的:D!
    【解决方案2】:

    有点晚了,但它可能对其他有同样疑问的人有用。有一种矢量化方式可以做到这一点,所以速度要快得多。

    df['new_date'] = df['orig_date'] + df['offset'].astype('timedelta64[D]'))
    

    【讨论】:

    • 这是个了不起的人。非常感谢!
    猜你喜欢
    • 2022-11-12
    • 1970-01-01
    • 2018-03-01
    • 1970-01-01
    • 2019-08-11
    • 2016-08-14
    • 2021-03-31
    • 2017-08-27
    • 1970-01-01
    相关资源
    最近更新 更多