Numpy - 将 x,y 坐标的二维数组转换为坐标之间距离的平面数组

2024-03-27

我想使用 numpy 将 x,y 坐标的二维数组转换为每个坐标之间的距离的平面数组。请注意,第一对 x/y 坐标应保留在输出数组中,作为稍后重建坐标的参考。

此过程的目的是减小数组的大小,以提高网络共享的速度。

例如:

input = [[-8081441,5685214], [-8081446,5685216], [-8081442,5685219], [-8081440,5685211], [-8081441,5685214]]
output = [-8081441, 5685214, 5, -2, -4, -3, -2, 8, 1, -3]

def parseCoords(coords):
    #keep the first x,y coordinates
    parsed = [int(coords[0][0]), int(coords[0][1])]
    for i in xrange(1, len(coords)):
        parsed.extend([int(coords[i-1][0]) - int(coords[i][0]), int(coords[i-1][1]) - int(coords[i][1])])
    return parsed

parsedCoords = parseCoords(input)

为了提高性能,是否可以使用 numpy 数组执行与此函数相同的操作?


首先,为了性能,让我们将列表输入转换为数组(如果它还不是数组),如下所示 -

arr = np.asarray(input).astype(int)

现在,我们有一种方法np.diff https://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.diff.html -

np.hstack((arr[0], (-np.diff(arr, axis=0)).ravel()))

另一种方法是slicing https://docs.scipy.org/doc/numpy/reference/arrays.indexing.html#basic-slicing-and-indexing复制差异化 -

np.hstack((arr[0], (arr[:-1,:] - arr[1:,:]).ravel()))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Numpy - 将 x,y 坐标的二维数组转换为坐标之间距离的平面数组 的相关文章

  • 时间序列的线性回归Python(numpy或pandas)

    我对 python 和一般编程都很陌生 所以请原谅任何简单的错误 应该显而易见的事情 我想做的事情非常简单 我只想将线性趋势 一维多项式 拟合到一堆时间序列上 看看斜率是正还是负 现在我只是想让它在一个时间序列中工作 问题 pandas 和
  • Pulp.pulpTestAll() 测试失败,太多值无法解压

    我的操作系统是window 7 Pulp版本是1 6 1 gurobi版本是7 0 1 可以成功导入gurobipy Pull solvers GUROBI确实通过了测试 所以我可以使用gurobi 然而 pulp solvers CPLE
  • Pandas 在日期列上重新采样

    我有一个dataframe以日期作为列 我想对每日到每月的值进行平均 我尝试过使用 Time Grouper 和 Resample 但它不喜欢列名称是字符串 我似乎可以弄清楚如何将列变成类似DatetimeIndex 我的起始数据框 imp
  • 在 multiprocessing.connection.Listener.accept() 给定时间后引发 TimeOutError

    我正试图打断multiprocessing connection Listener accept 但迄今为止尚未成功 由于它不提供timeout参数 我想也许我可以使用socket setdefaulttimeout 打断它 正如帖子中所建
  • PyCharm 虚拟环境和 Anaconda 环境有什么区别?

    当我在 PyCharm 中创建新项目时 它会创建一个新的虚拟环境 我读到 当我执行Python脚本时 它们是使用此环境中的解释器而不是系统环境来执行的 因此 如果我需要安装一些软件包 我只能将它们安装在这个环境中 而不是在系统环境中 这很酷
  • Python相对导入导致语法错误:无效语法

    我正在尝试安装这个很棒的 python 模块Python Chrono http oss codepoet no python chrono wiki Home我的 python 环境 但至少在 python 2 4 3 和 2 6 6 中
  • GitPython 并向 Git 对象发送命令

    GitPython http gitorious org git python是一种从 python 与 git 交互的方式 我正在尝试访问基本的 git 命令 例如git commit m message 从此模块中 根据this htt
  • 在 Python 中通过 TCP 套接字发送文件

    我已经成功地将文件内容 图像 复制到新文件 然而 当我通过 TCP 套接字尝试同样的事情时 我遇到了问题 服务器循环未退出 客户端循环在到达 EOF 时退出 但服务器无法识别 EOF 这是代码 Server import socket Im
  • 将文件转换为 Ascii 抛出异常

    后果我之前的问题 https stackoverflow com questions 31742609 how to strip the leading unciode characters from a file 31742694 nor
  • 如何将目录结构解析为字典?

    我有目录结构列表 例如 a b a b c a b c d a b c e a b c f g a b c f h a b c f i 我想将它转换成像树结构一样的字典 a b c d None e None f g None h None
  • 计算具有不均匀间隔点的 3D 梯度

    我目前有一个由几百万个不均匀间隔的粒子组成的体积 每个粒子都有一个属性 对于那些好奇的人来说是潜力 我想计算其局部力 加速度 np gradient 仅适用于均匀分布的数据 我在这里查看 numpy 中的二阶梯度 https stackov
  • Python 和 Scipy:如何拟合冯·米塞斯分布?

    我正在尝试拟合来自 scipy 的冯 米塞斯分布 http docs scipy org doc scipy reference generated scipy stats vonmises html http docs scipy org
  • 如果我使用不同数量的核心,XGBoost 会产生相同的结果吗?

    我在两台机器上安装了完全相同版本的 XGBoost 0 4 两台机器之间的唯一区别是 RAM 和内核数量 8 与 16 使用完全相同的数据 我无法重现相同的结果 它们略有不同 小数点后第四 第五位 种子保留为默认值 它是高度特定于实现的 但
  • 如何获得 GTK 中的默认颜色?

    Context 在 GTK 3 中 人们可以设置自己的主题 甚至默认主题 Adwaita 也提供两种变体 浅色和深色 当我编写自己的小部件 用Python 时 我需要获取这些颜色以避免在黑色上绘制黑色或在白色上绘制白色 Question 如
  • Hibernate Query在系统中运行缓慢,但直接运行时速度很快

    我遇到了与本周播客中类似的问题 我们有一个使用 Hibernate 和 Sql Server 2005 的 Java 应用程序 Hibernate 正在为我们生成一个查询 该查询需要近 20 分钟才能完成 如果我们使用 show sql 进
  • 将行追加到 Pandas DataFrame 添加 0 列

    我正在创建一个 Pandas DataFrame 来存储数据 不幸的是 我无法提前知道我将拥有的数据行数 所以我的方法如下 首先 我声明一个空的 DataFrame df DataFrame columns col1 col2 然后 我附加
  • 根据另一个 csv 文件过滤 csv 文件中的行并将过滤后的数据保存在新文件中

    大家好 所以我试图根据file1过滤file2 其中file1是file2的子集 但 file2 有一个描述列 我需要能够分析 file1 中的数据 我想做的是过滤 file2 并仅获取 file1 中的标题及其描述 我尝试了这个 但我不太
  • 根据 pandas 中其他数据帧的值更改一个数据帧的值

    我有一个数据框 df1 id value 1 100 2 100 3 100 4 100 5 100 我有另一个数据框 df2 id value 2 50 5 30 我想用 df1 中的值替换 df2 中 id 的这些值 最终修改后的df1
  • Python ctypes:SetWindowsHookEx 回调函数从未被调用

    我正在尝试用 Python 编写一个程序 该程序可以识别何时显示警报框 对话框 它正在处理多个监视器 我希望它在任务栏图标闪烁 弹出错误 通知等时在辅助监视器上显示可视化效果 据我所知 检测这些事件的方法是使用消息挂钩 如下所述 http
  • 在 Pandas DataFrame 中拆分列表

    我有一个包含多列的 csv 文件 使用 pandas 我将此 csv 文件读入数据帧 并有一个日期时间索引和五六个其他列 其中一列是时间戳列表 下面带有索引的示例 CreateDate TimeStamps 4 1 11 Timestamp

随机推荐

  • 在 Windows 上的 Qt Creator 中编译 Cuda 代码

    几天来我一直在尝试获取在 32 位 Windows 7 系统上运行的 Qt 项目文件 我希望 需要在其中包含 Cuda 代码 这种组合要么非常简单 以至于没有人愿意在网上放一个例子 要么非常困难 似乎没有人成功 不管怎样 我发现的唯一有用的
  • 如何使用 Spring Boot 设置速度模板字符编码?

    我的模板使用 UTF 8 作为编码 但我的 Web 应用程序的输出不正确 问题是速度认为我的模板具有 ISO 8859 1 作为编码 因为这是以下输出 System out println ctx getBean VelocityEngin
  • 在 PHP 中使用命名空间解析 XML 数据

    我正在尝试使用这个使用命名空间的 XML 提要 但我无法跳过标签中的冒号 XML 提要如下所示
  • 如何在 Laravel 中动态创建子域?

    在我的 Windows System32 drivers etc 中hosts 我有这个 127 0 0 1 localhost 127 0 0 1 site dev 127 0 0 1 site dev 在我的 xampp apache
  • 如何用制表符替换换行符?

    我有如下所示的图案 hi hello hallo greetings salutations no more hello for you 我正在尝试使用以下命令用制表符替换所有换行符 sed e s n t g 但它不起作用 有人可以帮忙吗
  • 在哪里可以了解有关 C++0x 的更多信息? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • C++ 中的 readNetFromTensorflow 错误

    我是深度学习的新手 第一步 我使用 keras 在 python 中创建并训练一个模型 并通过以下代码冻结 def export model MODEL NAME input node name output node name tf tr
  • 使用 url 生成 YouTube 视频的嵌入代码

    我想将 YouTube 视频添加到我的网站 我想知道有没有办法generate 嵌入代码 by giving the url 我们在浏览器中输入 as input 简而言之 有没有办法获得 嵌入代码 作为输出 给出 url 视频作为输入 我
  • Python:将2个列表转换为字典并为每组数据重复键

    了解 Python 的 zip 函数 我可以做这个 list keys fname lname dob list data bob smith 12121950 keys and data dict zip list keys list d
  • 是否可以向我的应用程序添加“评价此应用程序”链接?

    这就是我想要做的 我的应用程序的设置页面上有一个按钮 我希望它可以将用户引导至应用程序商店上的评论 评分页面 我知道可以使用 UIApplication sharedApplication openURL 但我的应用程序尚未发布 所以我没有
  • Rails 密码将在 24 小时内过期

    在我的 Rails 3 1 应用程序中 我想为用户创建随机密码并使其过期 我正在使用 devise gem 来实现这一点 任何可用的插件expiring password在一段时间内 否则请给我一些逻辑建议来实现此功能 请把我当作一个新手
  • MySQL 连接器 C++ - 无效指针

    我正在尝试使用 MySQL C 连接器连接到数据库 我已经添加了库 并且源代码可以使用所有必要的 include 语句正确编译 我正在使用的代码如下 include
  • 逆斐波那契算法?

    对于任意 n 计算 F n 的方法有数十种 其中许多方法都具有很高的运行时间和内存使用率 然而 假设我想问相反的问题 给定 F n n gt 2 n 是多少 n gt 2 限制存在 因为 F 1 F 2 1 并且没有明确的逆 解决这个问题最
  • 将 Single> 转换为 Observable

    Goal I get a Single
  • 画家难题 - 从第一原理进行算法估计

    这个问题是基于从2001年开始 A guy 找到了一份街头油漆工的工作 在路中间画虚线 第一天他完成了 300 码 第二天完成了 150 码 第三天甚至更少 老板很生气 要求一个解释 我无能为力 那家伙说 我每天都离油漆罐越来越远 我的问题
  • 如何删除用户注册/登录表单?

    我的网站不需要用户登录功能 只有部分用户需要发布新节点 如何删除 Drupal 中的用户注册和登录表单 虽然从技术上讲可以删除登录功能 但您不应该这样做 因为那样您的管理员将永远无法登录该网站 为了删除注册功能 您只需浏览到admin us
  • 是否有适用于 Microsoft Access 的 64 位驱动程序?

    java sql SQLException Microsoft ODBC Driver Manager 指定的 DSN 包含驱动程序和应用程序之间的体系结构不匹配 当我尝试使用 jdbc 从 eclipse 项目连接到 Microsoft
  • 将 IBM Lotus Notes 文件转换为文本

    如何将 nsf Lotus 文件转换为文本文件 我想编写一个java程序来读取我系统上的 nsf文件 我已经简单地尝试过 但它显示非英语字符 他们有什么方法可以正常访问它们 EDIT 该代码位于 net中并使用任何服务器的会话 我只想通过j
  • 检查 C 中是否存在文件[重复]

    这个问题在这里已经有答案了 我正在尝试在 C 应用程序中打开文件 在尝试读取文件之前如何检查文件是否存在 尝试打开它 FILE file file fopen file name r if file file exists and can
  • Numpy - 将 x,y 坐标的二维数组转换为坐标之间距离的平面数组

    我想使用 numpy 将 x y 坐标的二维数组转换为每个坐标之间的距离的平面数组 请注意 第一对 x y 坐标应保留在输出数组中 作为稍后重建坐标的参考 此过程的目的是减小数组的大小 以提高网络共享的速度 例如 input 8081441