This section uses SciPy, Pandas.
You can project a bipartite network two ways: by keeping the nodes of part 1 and removing the nodes of part 2, and the other way around. The nodes that survive the projection are called the “bottom” nodes; the nodes that are removed are known as the “top” nodes.
The projection operation transforms the original bipartite graph G into an induced graph F by projecting G onto the bottom nodes. Graph F contains only the bottom nodes, and two bottom nodes in F are adjacent to each other if and only if they are adjacent to the same top node in G.
The following figure shows a fragment of the bipartite network of foods and nutrients before (left) and after the projection. The nodes C and ...