微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

KeyError: from_pandas_edge_list() 的“来源”

如何解决KeyError: from_pandas_edge_list() 的“来源”

这是我的代码

import numpy as np
import pandas as pd
import networkx as nx

df = pd.read_excel(r"/path/to/file.xlsx",sheet_name="Sheet4")
df.edge=nx.from_pandas_edgelist(df,source='Abrev')
print(list(enumerate_all_cliques(nx.Graph(df.edge))))

if 给我此代码的关键错误 KeyError: 'Abrev' 但我也尝试将 'Abrev' 更改为 0 并将 source='Abrev' 一起删除,只是略有不同每个错误'KeyError: 0 'KeyError: 'source'

excel文件的示例内容

+---+---+---+---+---+
|   | A | B | C | D |
+---+---+---+---+---+
| A | 0 | 1 | 1 | 0 |
+---+---+---+---+---+
| B | 1 | 0 | 0 | 1 |
+---+---+---+---+---+
| C | 1 | 0 | 0 | 1 |
+---+---+---+---+---+
| D | 0 | 1 | 1 | 0 |
+---+---+---+---+---+

解决方法

只需添加 nx.from_pandas_adjacency 而您忘记了 nx. 前面的 enumerate_all_cliques

import numpy as np
import pandas as pd
import networkx as nx
import matplotlib.pyplot as plt

df = pd.read_excel(r"/path/to/file.xlsx",sheet_name="Sheet4",index_col=0,usecols = "A:E")
df.edge=nx.from_pandas_adjacency(df)
print(list(nx.enumerate_all_cliques(nx.Graph(df.edge))))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。