我不知道为什么在构建以下代码时总会出现一些问题。
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