【发布时间】:2021-09-27 00:54:38
【问题描述】:
我有一个如下所示的 pandas 数据框
df = pd.DataFrame({'login_date':['5/7/2013 09:27:00 AM','09/08/2013 11:21:00 AM','06/06/2014 08:00:00 AM','06/06/2014 05:00:00 AM','','10/11/1990'],
'DURATION':[21,30,200,34,45,np.NaN})
我想将DURATION 值添加到login_date 列
DURATION 表示为 Days 类型
如果 DURATION 列中有NA,只需将其替换为 0。
所以,我尝试了以下
df['DURATION'] = df['DURATION'].fillna(0)
df['login_date'] = pd.to_datetime(df['login_date'])
df['DURATION'] = df['DURATION'].astype('Int64')
df['logout_Date'] = df['login_date'] + pd.offsets.DateOffset(days=df['DURATION'])
但是,这会导致如下所示的错误
TypeError: Invalid type <class 'pandas.core.series.Series'>. Must be int or float.
但我已经将我的DURATION 列转换为int64 类型。
如何将一列值添加到我的logout_date 列
【问题讨论】:
标签: python pandas dataframe numpy datetime