为了账号安全,请及时绑定邮箱和手机立即绑定

比较数据框中的两个日期时间列并返回一个标志

比较数据框中的两个日期时间列并返回一个标志

HUX布斯 2023-05-23 10:26:41
我需要比较数据框中的两个日期时间列并创建一个返回 0/1 标志的新列。数据框:+-------------------+-------------------+|       Date1       |       Date2       |+-------------------+-------------------+| 6-8-2020 13:27:01 | 6-8-2020 13:14:04 || 6-8-2020 5:01:02  | 7-8-2020 8:00:25  || 6-8-2020 7:45:43  | 6-8-2020 8:10:04  |+-------------------+-------------------+条件是:if date1 > date2 then 1 else 0上面示例数据框的所需结果:+------+| Flag |+------+|    1 ||    0 ||    0 |+------+有人可以帮我弄这个吗?
查看完整描述

1 回答

?
白衣非少年

TA贡献1155条经验 获得超0个赞

True, False首先将值转换为日期时间,比较值并将其转换为1, 0by Series.astype

df.Date1 = pd.to_datetime(df.Date1, dayfirst=True)

df.Date2 = pd.to_datetime(df.Date2, dayfirst=True)

df['Flag'] = (df.Date1 > df.Date2).astype(int)

print (df)

                Date1               Date2  Flag

0 2020-08-06 13:27:01 2020-08-06 13:14:04     1

1 2020-08-06 05:01:02 2020-08-07 08:00:25     0

2 2020-08-06 07:45:43 2020-08-06 08:10:04     0

或用于比较Series.gt和用于1,0 Series.view

df['Flag'] = df.Date1.gt(df.Date2).view('i1')


查看完整回答
反对 回复 2023-05-23
  • 1 回答
  • 0 关注
  • 139 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信