我在数据框中存储了一个有向图,每条线都是A> B和B
示例 我想计算数量的净值,就像图表是无向的。 例如:从两个边1> 2和2> 1,我想计算一个无向边,其中“数量”是属性的函数-例如: 我认为我可以通过在数据框的行上进行迭代(有两个for循环)来解决此问题: 还有其他方法可以在大熊猫中使用吗?
示例: 例如这些答案暗示了NetworkX-我想知道是否可以在研究图形之前在熊猫中做到这一点 Adjacency matrix from Pandas edgelist dataframe for undirected graphs A B Quantity Attr1 Attr2 ..
1 2 10 5 4
1 3 8 9 6
2 1 5 4 2
...
A B Quantity Attr1 Attr2 ...
1 2 (10 - 5) (5-4) (4-2)
// pseudo-code
for i, nodeA in enumerate(df['A']):
for j, nodeB in enumerate(df['B']):
if nodeA == nodeB:
quantity = df['A'][i]['Quantity'] - df['B'][i]['Quantity']
// write new row on a new dataframe, representing the undirected graph
// pseudocode
df.apply( lamdba x : computeNetValues(x) if x.A == x.B )