Python Pandas 使用另一列的值进行 DateOffset
我原以为这件事会很简单,但下面的代码并没有达到我想要的效果。我只是想通过将天数加到一个已有的日期时间列上,来计算一个新的日期列,而这些天数是来自另一个列的值。我的“偏移量”列下面只有一位数的数字。
df['new_date'] = df['orig_date'].apply(lambda x: x + pd.DateOffset(days=df['offset']))
错误信息:不支持的类型用于时间差的天数组件:Series
谢谢你,
2 个回答
10
虽然有点晚了,但这可能对其他有同样疑问的人有帮助。其实有一种方法可以用向量化的方式来实现,这样速度会快很多。
df['new_date'] = df['orig_date'] + df['offset'].astype('timedelta64[D]'))
10
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
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。