我有一个形式为df的pandas数据框。
我希望从中获得一个边缘列表,基本上是一个新的数据框edge_list_df(我可以将其转换为networkx对象),格式如下:
请注意,我在示例中给出了许多不同的可能性,以确保我的问题清晰明了。例如,即使对于Batch_ID = 2,B-C组合出现两次,计数器也不会增加两次。
最有效的方法是什么?
Batch_ID Product_ID
1 A
1 B
1 C
2 B
2 B
2 C
2 C
3 B
3 B
3 C
4 C
4 D
5 D
我希望从中获得一个边缘列表,基本上是一个新的数据框edge_list_df(我可以将其转换为networkx对象),格式如下:
Source Target Weight
A B 1.0
A C 1.0
A D 0.0
B C 3.0
B D 0.0
C D 1.0
请注意,我在示例中给出了许多不同的可能性,以确保我的问题清晰明了。例如,即使对于Batch_ID = 2,B-C组合出现两次,计数器也不会增加两次。
最有效的方法是什么?
.apply(pd.Series)
- 在答案结尾处检查时间 ;) - jezrael