从dataframe列创建定向邻接列表

iyfjxgzm  于 2021-09-08  发布在  Java
关注(0)|答案(0)|浏览(222)

我有一个 Dataframe df 这代表着 person 卷入 event 在某种程度上 date 有点 factor 关于这个人。

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

我想在新的 Dataframe 中创建一个定向邻接列表 df_directed ,而 person 谁的得分最高 factoreventdate 与来源相似。因此,这 person 是所有其他人的来源吗 person 参加同样的会议 event 同时 date . (案例1)
如果 factoreventdate 是平等的 person 谁拥有最高的累积价值 factor 具体 event 不顾一切 date 与来源相似(案例2)
如果有 factoreventdate 是不见了,那 person 谁拥有最高的累积价值 factor 具体 event 不顾一切 date 与来源相似(案例3,与案例2相同)
如果有的话 factors 都不见了, person 谁的年龄最大 date 分别为 event 成为源头(案例4)
期望输出:

source   target   event   date   
A        B        1       2010-07-01    
A        D        1       2010-07-01    # Case 1 
W        A        2       2010-10-01    
W        X        2       2010-10-01    
W        N        2       2010-10-01    
W        D        2       2010-10-01    # Case 2 
C        F        4       2010-08-05    # Case 3
D        E        8       2011-01-01
D        M        8       2011-01-05    # Case 4

在我的研究中,我发现了这一点,但不幸的是,我不能用它来解决我的问题。
非常感谢你的帮助!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题