使用基于多个条件的预定义数据创建新列

问题描述 投票:0回答:0

我尝试根据 3 个条件创建一个包含以下结果“错过访问”、“准时访问”、“即将访问”的新列。

我想创建一个名为“测试”的新列,例如,如果日期列满足 3 个条件,它将自动填充。

我试图创建一个具有我的 3 个条件的“条件”变量

条件= [ ((df['实际访问日期'] == 'NaT') & (df['最晚截止日期'] <= pd.to_datetime("today"))) | (df['Actual Visit Date']>df['最晚截止日期']),

#below are okay
(df['Actual Visit Date'] != 'NaT' ) & (df['Actual Visit Date'] <= df['Latest Due Date']),
(df['Latest Due Date'] > pd.to_datetime("today"))

] 我还创建了一个“结果”变量 结果 = ['错过访问', '准时访问', '即将到来的访问']

我试着用下面的创建新的 df['test'] = np.select(条件, 结果).

“按时访问”和“即将访问”的结果似乎工作正常,第一个条件未处理,结果为 0 或不是所有满足条件的行。

如果能通过定义一个函数来解决就好了

datetime conditional-statements operators conditional-operator
© www.soinside.com 2019 - 2024. All rights reserved.