从sparse.csc.csr_matrix生成邻接矩阵

需要photo.edglist和cs.edglist

solution1
    通过输出str,和str的操作过滤。
    result
        fail,不能完全获取到数据,部分结点的链接结点太多了,表示不出来。
    code
        import scipy
        from edglist_utils import load_network_data
        from scipy import sparse
        
        network_file = 'photo'
        adj, features, Y = load_network_data('graphsage/input/' + network_file + '.mat')
        
        f2 = open("graphsage/cora_adj_list.txt", 'w')
        f1 = open("graphsage/cora_create_list.txt", 'w')
        
        # for i in range(2708):
        #     f2.write(str(i) + "\n" + str(adj[i]) + "\n\n")
        
            # for part in adj[i]:
            #
            #
            #     part = str(part).replace('  (0, ', '')
            #     part = str(part).replace(')	1', '')
            #     part = str(part).replace('  :	:\n', '')
            #     # list_str = list(str(part))  # 将字符串转换为列表
            #     # print(str(i)+","+part)
            #     quote_list = part.split('\n')
            #     for quote in quote_list:
            #         if (i < int(quote)) :
            #             f1.write(str(i) + "," + str(quote)+"\n")
            #             print(str(i) + "," + str(quote))


solution2
    将ndarray 与 scipy.sparse.csc.csr_matrix 的互转
    url
        https://huwang.blog.csdn.net/article/details/84623786?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-84623786-blog-83036442.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-84623786-blog-83036442.pc_relevant_default&utm_relevant_index=2
    result
        成功
    code
        import scipy
        from edglist_utils import load_network_data
        from scipy import sparse
        
        network_file = 'cs'
        adj, features, Y = load_network_data('graphsage/input/' + network_file + '.mat')
        
        f1 = open("graphsage/cs_create_list.txt", 'w')
        
        my_matrix = scipy.sparse.csc_matrix(adj)
        my_array = my_matrix.A
        print(type(my_array))
        print(len(my_array))
        print(int(my_array[2][1]))
        
        for i in range(len(my_array)):
            for j in range(len(my_array)):
                if int(my_array[i][j]) == 1 and i < j:
                    f1.write(str(i) + "," + str(j) + "\n")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值