【问题标题】: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
【解决方案2】:
有点晚了,但它可能对其他有同样疑问的人有用。有一种矢量化方式可以做到这一点,所以速度要快得多。
df['new_date'] = df['orig_date'] + df['offset'].astype('timedelta64[D]'))