[英]Split columns Pd.DataFrame
我有一個由 Igraph 生成的 Pd.Dataframe,我想知道如何擁有一個更干凈的表:
我有的:
degree
(igraph.Vertex(<igraph.Graph object at 0x7f894149fe50>, 5, {'name': 8}), 20)
(igraph.Vertex(<igraph.Graph object at 0x7f894149fe50>, 6, {'name': 9}), 8)
(igraph.Vertex(<igraph.Graph object at 0x7f894149fe50>, 34, {'name': 45}), 8)
...
我只想要自由度和中心性值:
node centrality
8 20
9 8
45 8
...
非常感謝你。
更新:
df = pd.DataFrame(sorted([(n['name'], c) for n, c in zip(g.vs, g.degree())],
reverse=True, key=lambda x: x[1]),
columns=['node', 'centrality'])
舊答案
修改你的功能:
def degree_centrality(graph):
score_list = graph.degree()
data = sorted([(graph.vs[i]['name'], score_list[i])
for i in range(0,len(score_list))],
key=lambda x:x[1], reverse=True)
df = pd.DataFrame(data, columns=['node', 'centrality'])
return df
df = degree_centrality(g)
輸出樣本:
>>> df
node centrality
0 C 4
1 A 3
2 D 3
3 F 3
4 E 2
5 G 2
6 B 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.