TypeError:unhashable类型:'dict'当我尝试构建MultiDiGraph时

时间:2017-05-06 09:56:18

标签: python pandas networkx

我不知道为什么在构建以下代码时总会出现一些问题。

df_agent = pd.read_csv('agent_total.csv') 

G = nx.from_pandas_dataframe(df_agent, 'move from id', 'move to id' ,edge_attr=True ,create_using=nx.MultiDiGraph() )

错误是:

Traceback (most recent call last):
  File "D:\Sublimetext3\code\analyse.py", line 11, in <module>
    G = nx.from_pandas_dataframe(df_agent, 'move from id', 'move to id' ,edge_attr=True ,create_using=nx.MultiDiGraph() )
  File "C:\Python34\lib\site-packages\networkx\convert_matrix.py", line 211, in from_pandas_dataframe
    g.add_edge(row[src_i], row[tar_i], {i:row[j] for i, j in edge_i})
  File "C:\Python34\lib\site-packages\networkx\classes\multidigraph.py", line 344, in add_edge
    keydict[key] = datadict
TypeError: unhashable type: 'dict'

agent_total.csv是我的CSV文件。我也试过,如果我删除edge_attr=True或删除create_using=nx.MultiDiGraph(),则没有任何问题,但如果没有,则错误如上所述。

当我使用df_agent.head()时,输出如下

transfer id  player id  agent id  move from id  move to id
0       296662        911      1181          8553        3165
1       279324        911      1181          1402        8553
2       211933        911      1181          1876        1402
3       161075        911      1181           515        1876
4       125178        911      1181           996         515

0 个答案:

没有答案