从熊猫数据框列创建有向邻接列表

问题描述

我有一个数据框 df,它代表一个 person,它涉及某个 event 上的 date,与该人的某个 factor。>

df = pd.DataFrame({"person": ["A","B","D","A","X","W","F","C","E","M"],"event": ["1","1","2","4","8","8"],"date": ["2010-07-01","2010-07-01","2010-08-01","2010-08-03","2010-08-05","2010-10-01","2011-01-01","2011-01-05"],"factor": ["10,000.00","8,"9,"12,"nan","5,"14,"nan"]})

看起来也像这样:

person   event     date         factor
A        1         2010-07-01   10,000.00
B        1         2010-07-01   8,000.00
D        1         2010-07-01   9,000.00
A        2         2010-08-01   12,000.00
X        2         2010-08-01   12,000.00
W        2         2010-08-03   12,000.00
F        4         2010-08-05   nan
C        4         2010-08-05   5,000.00
D        2         2010-10-01   12,000.00
W        2         2010-10-01   14,000.00
D        8         2011-01-01   nan
E        8         2011-01-01   nan
M        8         2011-01-05   nan

我想在一个新的数据帧 df_directed 中创建一个有向邻接列表,其中 person 拥有最高的 factorevent类似于源。因此,此 date 是来自 person 在同一个 person 上参加同一个 event 的所有其他人的来源。 (案例一)

如果每个 date 和每个 factorevent 相等,则对于特定 date 具有最高累积 personfactor不管 event 是否类似于源。 (案例2)

如果每个 datefactor 缺少一个 event,那么对于特定 date 具有最高累积 personfactor event 类似于源。 (案例3,同案例2)

如果所有 date 都缺失,则拥有相应 factors 的最旧 persondate 成为源。 (案例4)

所需的输出:

event

在研究过程中,我发现了 this,但不幸的是,我无法将其用于解决我的问题。

非常感谢您的帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)