Python 执行sklearn余弦相似性时,如何保留索引和列名?

Python 执行sklearn余弦相似性时,如何保留索引和列名?,python,scikit-learn,cosine-similarity,Python,Scikit Learn,Cosine Similarity,在执行sklearn.metrics.pairwise.cosine_相似性时,我得到的结果是索引0、1、2。。。和列名0、1、2 如何将结果转换为原始列名和索引名 用于计算的数据帧: user_id | age | education | income | length_residence ----------------------------------------------------------------------- NI

在执行sklearn.metrics.pairwise.cosine_相似性时,我得到的结果是索引0、1、2。。。和列名0、1、2

如何将结果转换为原始列名和索引名

用于计算的数据帧:

    user_id  |    age      |  education   |   income    | length_residence
    -----------------------------------------------------------------------
    NIODB6S3 |  43.769912  |  1.537634    |  58.754647  |     7.232344
    BOAWG65L |  43.769912  |  1.537634    |  58.754647  |     7.232344
    3667B8P0 |  20.000000  |  1.000000    |  40.000000  |     4.000000
    VS53SKY5 |  35.000000  |  1.537634    |  75.000000  |    14.000000
我运行的代码:

    pd.DataFrame(cosine_similarity(df))
预期:

    user_id  |  NIODB6S3  | BOAWG65L  | 3667B8P0
    user_id  |
    ----------------------------------------------
    NIODB6S3 |  1.000000  | 0.000084  | 0.996848
    BOAWG65L |  0.000084  | 1.000000  | 0.000342
    3667B8P0 |  0.996848  | 0.000342  | 1.000000
得到:

我不确定默认数字索引是否传达了df中“user_id”的正确原始顺序

我可以用原始索引替换结果中的索引和列

result.index = df.index
result.columns = df.index
它们的顺序完全相同

我可以用原始索引替换结果中的索引和列

result.index = df.index
result.columns = df.index
它们的顺序完全相同

result.index = df.index
result.columns = df.index