Hi Guys I am trying to remove edges from my graph. I first copy my graph: gCopy = g.copy() pCopy = gCopy.new_edge_property("double") then I go through the edges in the original graph to check for a particular property: for j, e in enumerate(g.edges(): src = e.source() tgt = e.target() When a certain value for the property map of the original graph is found I use: if p[e] > value: print pCopy.a gCopy.remove_edge(e) print pCopy.a When I look at pCopy.a I see that the array does not shorten and that 0 values remain. These values do not show up when I use: for e in gCopy.edges(): print pCopy[e] I can still find these values, however, when I use for e in g.edges(): print pCopy[e] I want to use this array in the max flow algorithm and it complains: res = gt.edmonds_karp_max_flow(gCopy, src, tgt, pCopy) res.a = pCopy.a - res.a ValueError: operands could not be broadcast together with shapes (17,) (32,) Is there any way I can remove the zero values from pCopy.a? Thanks! Best, Alex