我尝试根据 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 或不是所有满足条件的行。
如果能通过定义一个函数来解决就好了