我有一个数据集,比如:
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
+apply
与frozenset
一起使用:
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/