如何比较日期列和日期并添加文本列?

时间:2018-10-10 15:37:48

标签: python pandas datetime

我有以下数据框:

id      date
1       2019-09-28
2       NaT
3       2017-09-28

我想将日期列与日期进行比较:2018-09-28。然后添加一个列状态,该列状态根据比较结果添加字符串“ Greater”或“ Less”。因此输出将是这样的:

id      date          status
1       2019-09-28    Greater
2       NaT
3       2017-09-28    Less

1 个答案:

答案 0 :(得分:4)

对于Pandas datetime系列,您可以将值与字符串进行比较:

df['date'] = pd.to_datetime(df['date'])

df['status'] = np.where(df['date'] >= '2018-09-28', 'Greater', 'Less')
df.loc[df['date'].isnull(), 'status'] = ''

print(df)

   id       date   status
0   1 2019-09-28  Greater
1   2        NaT         
2   3 2017-09-28     Less