我有一个数据集,比如:

 node    community
  1         2
  2         4
  3         5
  4         2
  5         3
  7         1
  8         3
  10        4
  12        5

我想让节点列的冻结集以他们的社区相同的方式存在。因此,预期结果如下:
 [frozenset([1,4]), frozenset([2,10]), frozenset([3,12]),frozenset([5,8]),frozenset([1])]

有没有什么方法可以在不将dataframe更改为列表列表的情况下完成。
谢谢。

最佳答案

GroupBy+applyfrozenset一起使用:

res = df.groupby('community')['node'].apply(frozenset).values.tolist()

print(res)

[frozenset({7}), frozenset({1, 4}), frozenset({8, 5}),
 frozenset({2, 10}), frozenset({3, 12})]

关于python - Pandas 数据框根据条件卡住,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53163285/

10-12 22:26