index name_A name_B 0 Adam Ben 1 Chris DavID 2 Adam Chris 3 Ben Chris
我想获得name_A和name_B的邻接矩阵,即:
Adam Ben Chris DavIDAdam 0 1 1 0Ben 0 0 1 0Chris 0 0 0 1DavID 0 0 0 0
什么是他们最狡猾/可扩展的解决方法?
编辑:另外,我知道如果行Adam,Ben在数据集中,那么在其他一点,Ben,Adam也将在数据集中.
解决方法 您可以在列和索引值的0700和reindex
之间使用 crosstab
和 reindex
: df = pd.crosstab(df.name_A,df.name_B)print (df)name_B Ben Chris DavIDname_A Adam 1 1 0Ben 0 1 0Chris 0 0 1df = pd.crosstab(df.name_A,df.name_B)IDx = df.columns.union(df.index)df = df.reindex(index = IDx,columns=IDx,fill_value=0)print (df) Adam Ben Chris DavIDAdam 0 1 1 0Ben 0 0 1 0Chris 0 0 0 1DavID 0 0 0 0总结
以上是内存溢出为你收集整理的python – 为pandas dataframe中的两列创建邻接矩阵全部内容,希望文章能够帮你解决python – 为pandas dataframe中的两列创建邻接矩阵所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)