从datafram生成列表

2024-04-19 00:00:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个熊猫数据帧

   node    centroid
    1         1
    2         2
    3         4
    5         6
    7         2
    4         1
    8         4
    10        1

如何通过此数据集创建列表生成器,使具有相同质心的节点位于同一列表中? 我需要像find clique return(https://networkx.github.io/documentation/networkx-1.10/reference/generated/networkx.algorithms.clique.find_cliques.html)这样的结果


Tags: 数据httpsionetworkxgithubnode列表return
1条回答
网友
1楼 · 发布于 2024-04-19 00:00:19

使用yield生成生成器。你知道吗

import pandas as pd
import random
df = pd.DataFrame({"node": [random.randint(1, 11) for _ in range(8)],
                   "centroid": [random.randint(1, 5) for _ in range(8)]})

def list_gen(df):
  for x in df.centroid.unique():
    yield df[df["centroid"] == x].node.values

[x for x in list_gen(df)]

这将提供numpy数组,但是您可以通过将它们传递给list将它们解构回常规的list。你知道吗

相关问题 更多 >