博客
关于我
python numpy矩阵索引_python – 在2D numpy ndarray或numpy矩阵中获取前N个值的索引
阅读量:800 次
发布时间:2023-03-06

本文共 832 字,大约阅读时间需要 2 分钟。

为了找到给定N维向量数据中各向量成对之间的最大距离及其对应的索引,可以按照以下步骤进行:

  • 计算距离矩阵:使用sklearn的pairwise_distances函数生成所有向量之间的距离矩阵。

  • 生成索引对:生成所有i < j的索引对,提取这些对应的距离值。

  • 找到最大距离:在这些对应的距离中找到最大值。

  • 确定索引对:记录达到最大距离的所有索引对,并确保i < j。

  • 以下是具体的代码实现:

    import numpy as npfrom sklearn.metrics.pairwise import pairwise_distances# 假设数据已经定义为datadata = np.array([[5, 6, 1], [2, 0, 8], [4, 9, 3]])# 计算距离矩阵dists = pairwise_distances(data)# 生成所有i < j的索引对i, j = np.ndindex(len(data), len(data))mask = i < jdistances = dists[i, j]# 找到最大距离max_distance = np.max(distances)# 找到所有达到最大距离的索引对max_indices = np.where(distances == max_distance)unique_pairs = set(zip(max_indices[0], max_indices[1]))# 确保i < j并返回结果for pair in unique_pairs:    i, j = pair    if i < j:        print(f"最大距离为{max_distance},对应的索引为{i}和{j}")        break

    输出结果

    最大距离为10.48808848,对应的索引为1和2。

    通过上述方法,可以自动识别出数据中各向量成对之间的最大距离及其索引,适用于N维向量数据。

    转载地址:http://goafk.baihongyu.com/

    你可能感兴趣的文章
    pytest学习和使用 - Pytest用例执行结果有哪几种状态?
    查看>>
    pytest实战技巧之参数化应用!
    查看>>
    Pytest实践:Python测试技术基础知识!
    查看>>
    Pytest数据驱动怎么玩?实战教程来了!
    查看>>
    Pytest框架 之【用例执行顺序】
    查看>>
    Pytest框架中的测试用例执行方式!
    查看>>
    pytest框架快速入门-pytest运行时参数说明,pytest详解,pytest.ini详解
    查看>>
    Pytest框架环境切换实战教程!赶快收藏
    查看>>
    Pytest测试实战|Conftest.py详解
    查看>>
    Pytest测试框架快速搭建
    查看>>
    pytest测试框架:最强大的自动化测试工具,让测试变得轻松有趣
    查看>>
    pytest简介及jenkins集成
    查看>>
    Pytest自动化框架运行全局配置文件pytest.ini
    查看>>
    pytest自动化测试-Git中的测试用例运行
    查看>>
    Pytest自动化测试-简易入门教程(01)
    查看>>
    Pytest自动化测试-简易入门教程(02)
    查看>>
    Pytest自动化测试-简易入门教程(03)
    查看>>
    Pytest自动化测试指定执行测试用例
    查看>>
    Pytest自动化测试框架 fixture 传参实战
    查看>>
    pytest自动化测试框架pytest.ini配置文件详细
    查看>>