将系列而不是整数传递给熊猫偏移量

我有一个带有日期和数字的数据框 (df)。我想将数字添加到日期。如何使用 pd.offsets() 将 df['additional_days'] 系列添加到 df['start_date'] 系列?有一个更好的方法吗?


start_date additional_days


2018-03-29 360


2018-07-31 0


2018-11-01 360


2016-11-03 720


2018-12-04 480


我尝试时出错


df['start_date'] + pd.offsets.Day(df['additional_days']) 

这是错误


TypeError                                 Traceback (most recent call last)

pandas/_libs/tslibs/offsets.pyx in pandas._libs.tslibs.offsets._BaseOffset._validate_n()


/opt/conda/lib/python3.6/site-packages/pandas/core/series.py in wrapper(self)

    117         raise TypeError("cannot convert the series to "

--> 118                         "{0}".format(str(converter)))

    119 


TypeError: cannot convert the series to <class 'int'>


During handling of the above exception, another exception occurred:


TypeError                                 Traceback (most recent call last)

<ipython-input-76-03920804db29> in <module>

----> 1 df_test['start_date'] + pd.offsets.Day(df_test['additional_days'])


/opt/conda/lib/python3.6/site-packages/pandas/tseries/offsets.py in __init__(self, n, normalize)

   2219     def __init__(self, n=1, normalize=False):

   2220         # TODO: do Tick classes with normalize=True make sense?

-> 2221         self.n = self._validate_n(n)

   2222         self.normalize = normalize

   2223 


pandas/_libs/tslibs/offsets.pyx in pandas._libs.tslibs.offsets._BaseOffset._validate_n()


TypeError: `n` argument must be an integer, got <class 'pandas.core.series.Series'>


繁花如伊
浏览 240回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python