pandas
利用 pairwise_distances 函数计算jaccard index的时候,由于python不再自动修正格式,所以第一个参数要传输 DataFrame.values ,而不能够传入DataFrame,不然会报错。
正确示例:
from sklearn.metrics.pairwise import pairwise_distances
jaccard_user = 1 - pairwise_distances(Origin_DF.values,metric='jaccard')
jaccard_user = pd.DataFrame(jaccard_user,columns=ori_user,index=ori_user)
错误示例:
from sklearn.metrics.pairwise import pairwise_distances
jaccard_user = 1 - pairwise_distances(Origin_DF,metric='jaccard')
jaccard_user = pd.DataFrame(jaccard_user,columns=ori_user,index=ori_user)
错误信息:
AttributeError: 'DataFrame' object has no attribute 'dtype'
pytorch可以直接用张量作为切片
在PyTorch中,我们可以通过使用逻辑运算符和比较运算符来生成一个布尔张量,然后使用这个布尔张量来选择切片。
import torch
x = torch.tensor([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
mask = torch.tensor([[True, False, True],
[False, True, False],
[True, False, True]])
# 使用布尔张量进行切片
sliced = x[mask]
print(sliced)
上述代码中,我们首先定义了一个二维张量x
和一个与x
相同大小的布尔张量mask
。布尔张量mask
中的True
值表示选择对应位置的元素,False
值表示不选择。通过打印输出可以看到,sliced
是包含所选元素的一维张量。