【发布时间】:2020-04-06 09:26:36
【问题描述】:
我的数据库看起来像 -
date Add
21-Dec-19 1-Month
13-Nov-19 3-Months
我想创建一个新列,'New',基于一个条件,如果日期小于指定日期,它应该添加添加列隐含的天数(以 timedelta 为单位)。
我使用的代码是-
df['date'] = pd.to_datetime(df['date'])
df['add'] = df['add'].mapp({'1-Month': np.timedelta64(30,'D'), '3-Months': np.timedelta64 (90,'D')})
def new(row):
if df['date'] < pd.to_datetime('12/15/2019'):
val == df['date'] + df['add']
else:
val == df['date']
return val
df.apply(lambda row:new(row), axis=1)
我收到以下错误
('一个Series的真值是不明确的。使用a.empty, a.bool(), a.item(), a.any() or a.all().', '发生在索引0 ')
任何想法都将不胜感激!
【问题讨论】:
-
您从该错误消息中了解到什么?这是一个常见的问题,有很多关于这个主题的资源。
-
你认为正确的代码应该是什么才能达到预期的结果?
-
这是你想要的结果吗:0 2020-01-20 1 2020-02-11
标签: python pandas dataframe date conditional-statements