You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多数据类型(字符串、整型、浮点型等)向量相似度计算方法咨询

实现方案

首先明确:Pandas 没有内置专门实现该相似度计算规则的现成函数,但依托Pandas的向量广播运算能力,仅需少量代码即可封装出符合要求的工具函数。

1. 测试环境构造

先构造你给出的示例DataFrame用于测试:

import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame([
    [1, 1.1, -19, "kuku", "lulu"],
    [2.8, 1.1, -20, "kuku", "lilu"]
])

2. 自定义相似度计算函数

以下函数完全符合你的需求:输入目标向量,自动和DataFrame所有行逐维度比较,输出每行的相似度均值得分:

def calc_dim_match_similarity(target_vector, df):
    # 逐元素对比是否相等,每行的均值就是匹配维度占总维度的比例
    return (df == target_vector).mean(axis=1)

3. 使用示例

# 输入目标向量,这里用示例中的第一行作为测试目标
target = [1, 1.1, -19, "kuku", "lulu"]
similarity_scores = calc_dim_match_similarity(target, df)

# 输出结果:第一行和自身完全匹配得1.0,第二行匹配2个维度得0.4,和示例计算结果一致
print(similarity_scores)

输出结果:

0    1.0
1    0.4
dtype: float64

注意事项

  • 需保证输入的目标向量长度和DataFrame的列数完全一致,否则会触发维度不匹配错误
  • 如果维度值为计算得到的浮点数,建议先做精度截断(比如保留固定小数位)再进行比较,避免浮点数精度误差导致相等判定错误

内容的提问来源于stack exchange,提问作者SteveS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 09:09:04