python提取特征、键值对关系到关联矩阵

首先是待处理数据

test = pd.read_csv('../test_pairs.csv')
test.head(10)

输出: 

     pairId	FirstId	SecondId
0	0	1427	8053
1	1	17044	7681
2	2	19237	20966
3	3	8005	20765
4	4	16837	599
5	5	3657	12504
6	6	2836	7582
7	7	6136	6111
8	8	23295	9817
9	9	6621	7672

 可以看到有FirstId和SecondId, 如果我们想把这两列id的对应关系映射到稀疏矩阵,我们可以用矩阵的行列i,j表示id值,而(i,j)==1表示存在对应关系

 

1、非对称稀疏关联矩阵,即有方向的映射关系,代码如下:

import scipy

inc_mat = scipy.sparse.coo_matrix((np.ones_like(test.FirstId), (test.FirstId, test.SecondId))).power(0)

 scipy.sparse.coo_matrix的参数(np.ones_like(test.FirstId), (test.FirstId, test.SecondId))分为两部分

第一部分是要在稀疏矩阵对应位置插入的值,这里生成一个全1串,使矩阵只有0和1。

第二部分第一部分值所在的位置,即(i[:], j[:])

至于最后的power(0),是对矩阵做了一个element-wise的0次方处理࿰

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值