且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何对具有组合列表的 pandas 数据框进行分组?

更新时间:2022-05-02 02:49:37

您可以使用networkx确定连接的组.

You could use networkx to determine connected groups.

In [750]: import networkx as nx

In [751]: G = nx.from_pandas_dataframe(df, 'A', 'B')  # Create the graph

In [752]: Gcc = nx.connected_components(G)

In [753]: pd.DataFrame([{'id': i, 'group': 'group%s' % (g+1)}
     ...:               for g, ids in enumerate(Gcc) for i in ids])
Out[753]:
    group   id
0  group1  512
1  group1  681
2  group1  123
3  group2  536
4  group2  412
5  group2  919