Python pandas:在单元格中找到最大值

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

我下面有2个数据框:

myEvents

id    events
1     e1||e2
2     e2
3     e2||e3||e4

以及活动的结束日期:

eventEndDate

event    endDate
e1       2019-01-26T10:35:47-05:00
e2       2020-01-26T10:05:51-05:00
e3       2020-01-28T10:05:51-05:00
e4       1970-01-01T00:00:00-05:00

我想在myEvents中添加一列,以显示最新活动的结束日期,因此:

id    events      latest_end_date
1     e1||e2      2020-01-26T10:05:51-05:00
2     e2          2020-01-26T10:05:51-05:00
3     e2||e3||e4  2020-01-28T10:05:51-05:00

也许第一步是将eventEndDate读到字典中,然后如何创建映射函数以提取第一个数据帧中具有最大结束日期的事件?

python python-3.x pandas
1个回答
0
投票

地图是正确的第一步。一旦拥有它,创建一个UDF,它将解压缩事件并找到最新的对应时间戳。

def find_latest_end_date(row):
    end_dates = [eventEndDateDict[event] for event in row['events'].split('||')]
    return max(end_dates)


myEvents['latest_end_date'] = myEvents.apply(find_latest_end_date, axis=1)
© www.soinside.com 2019 - 2024. All rights reserved.