如何将numpy数组转换为元组

2023-12-02

我需要像这样转换数组:

 [[1527 1369   86   86]
  [ 573  590  709  709]
  [1417 1000   68   68]
  [1361 1194   86   86]]

喜欢这样:

    [(726, 1219, 1281, 664),
    (1208, 1440, 1283, 1365), 
    (1006, 1483, 1069, 1421),
    (999, 1414, 1062, 1351),]

我尝试直接使用转换为元组,但得到了这个:

         ( array([1527, 1369,   86,   86], dtype=int32), 
           array([573, 590, 709, 709], dtype=int32),
           array([1417, 1000,   68,   68], dtype=int32), 
           array([1361, 1194,   86,   86], dtype=int32))
           (array([701, 899, 671, 671], dtype=int32),)      

数组方法tolist是将数组转换为列表的简单快速的方法。它正确处理多个维度:

In [92]: arr = np.arange(12).reshape(3,4)
In [93]: arr
Out[93]: 
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
In [94]: arr.tolist()
Out[94]: [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]]

对于大多数目的,例如列表的列表与元组的列表或元组的元组一样好。它们的区别仅在于可变性。

但如果你必须有一个元组,列表理解可以很好地完成转换。

In [95]: [tuple(x) for x in arr.tolist()]
Out[95]: [(0, 1, 2, 3), (4, 5, 6, 7), (8, 9, 10, 11)]

替代[tuple(x) for x in arr]有点慢,因为它是在数组上而不是在列表上迭代。它也会产生不同的结果 - 尽管你必须检查type的元组元素来查看。

我强烈建议从tolist方法,并在之后进行任何列表到元组的转换。

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

如何将numpy数组转换为元组 的相关文章

随机推荐

  • CakePHP HTML Helper:链接中的图像被转义?

    从 Cake 1 2 更新到 1 3 我在链接元素中嵌套了一个图像 两者都是由 HTML 帮助程序生成的 然而 嵌套图像的标记被转义了 lt to gt 等等 我知道 HTML 助手现在默认会转义一些东西 但我无法让它改变这种行为 这是生成
  • 当我清除应用程序数据后,它不再起作用

    我正在使用 xamarin 表单制作一个应用程序 我在我的手机上测试了它 然后 apk 就在那里 但是当我清除android上的数据时 我的应用程序不再打开 有人看到了吗 问题是什么 是的 这很正常Xamarin Android在调试模式下
  • SQL Server 架构审计?

    我们有一个 SQL Server 2008 Enterprise 数据库 它有两种不同的模式 一种是我们维护的锁定模式 另一种是我们允许外部开发团队根据自己的需要添加和修改的开放模式 通常这对我们来说效果很好 但一个特定的团队喜欢把事情搞砸
  • Android getResources/getIdentifier 不返回 ID

    我有这样的代码 String s replace menu data imageid png int RID this getApplicationContext getResources getIdentifier s drawable
  • 获取数据帧中每行中的前 n 个值及其出现的列名称

    我有一个像这样的数据框 df pd DataFrame a 1 2 1 b 4 6 0 c 0 4 8 a b c 1 4 0 2 6 4 1 0 8 对于每一行 我需要 both n 在本例中为两个 最高值和相应的列 按降序排列 row
  • C# 相当于 C 中的 DllMain (WinAPI)

    我有一个较旧的应用程序 大约 2005 年 它接受 dll 插件 该应用程序最初是为 Win32 C 插件设计的 但我有一个可用的 C dll 模板 我的问题 我需要进行一些一次性初始化 这在 Win32 C dll 中将在 DllMain
  • 计算午夜后两次之间的持续时间

    如何计算两次之间的持续时间 var start moment 17 00 HH mm var end moment 02 15 HH mm moment duration end diff start asHours outputs 14
  • 使用 Python 中的 Requests 库发送“用户代理”

    我想发送一个值 User agent 使用 Python Requests 请求网页时 我不确定是否可以将其作为标头的一部分发送 如下面的代码所示 debug verbose sys stderr user agent User agent
  • Xcode 中的 Git 提交模板

    我已经添加到全局 git 配置中 git config global commit template gitmessage 创建了 gitmessage file one line summary of changes Because re
  • Cocoa:限制鼠标在屏幕上

    我正在为 OSX 开发一个信息亭模式应用程序 在某些情况下 会连接另一个屏幕 我的应用程序在一个屏幕上全屏运行 使用 self window contentView enterFullScreenMode s withOptions NSD
  • 使用 FastAPI 解析来自 Slack 的传入 POST 请求

    我正在构建一个 FastAPI 服务器来接收 slacklash 命令发送的请求 使用下面的代码 我可以看到以下内容 token BLAHBLAH team id BLAHBLAH team domain myteam channel id
  • 通过命令行从 unittest.TestCase 运行单个测试

    在我们的团队中 我们定义大多数测试用例如下 一门 框架 课程ourtcfw py import unittest class OurTcFw unittest TestCase def setUp Something Other stuff
  • 在映射返回中反应渲染数组

    我有一个正在渲染一些结果的反应组件 我遇到的问题是 result participants 这是一个数组 因此地图渲染两个名称时没有任何空格 我发现很难插入这些空格 result participants 是一个字符串数组 如果长度 gt
  • 将子网掩码“/”符号转换为 Cisco 0.0.0.0 标准

    我已经搜索过寻求帮助 但找不到我的问题的答案 情况 我需要将 NN 子网掩码表示法 例如IPTABLES 转换为0 0 0 0 cisco 表示法 NN 是子掩码中 1 的数量 从最低八位位组到较高八位位组 每个八位位组都是 8 位整数 可
  • 使用 LogParser 将 SharePoint 使用日志文件导出到数据库中

    基本上 我们有许多由 SharePoint 2007 网站生成的 SharePoint 使用日志文件 我们希望了解它们 为此 我们正在考虑读取日志文件并将其转储到具有适当列等的数据库中 现在我正打算制作一个 SSIS 包来读取所有文本文件并
  • Postgresql - 获取相对于给定日期时间值最接近的日期时间行

    我有一个 postgres 表unique日期时间字段 我想使用 创建一个函数 该函数将日期时间值作为参数 并返回与传递的日期时间值最接近 但不等于 的日期时间的行ID 第二个参数可以指定before or after传递的值 理想情况下
  • Pygame 键被​​按下

    只要按下一个键 pygame 就运行某些东西的惯用方式是什么 和pygame key get pressed pygame K p True or pygame mouse get pressed 1 0 0 它似乎只有在按键或按钮被敲击时
  • 请通过网络浏览器登录:https://support.google.com/mail/accounts/answer/78754(失败)

    我正在尝试使用基于 imap 协议的 java mail api 连接到我的邮箱 我检查并确保插入了正确的参数 这是我得到的以下异常 警告 请通过您的网络浏览器登录 https support google com mail account
  • 使用 console.log() 时 JSLint 抛出错误 [重复]

    这个问题在这里已经有答案了 我正在使用的文本编辑器是Brackets 当我尝试使用时遇到错误消息console log在任何 JS 文件中 1 创建 打开 JS 文件 2 输入 console log hello world 3 保存文件
  • 如何将numpy数组转换为元组

    我需要像这样转换数组 1527 1369 86 86 573 590 709 709 1417 1000 68 68 1361 1194 86 86 喜欢这样 726 1219 1281 664 1208 1440 1283 1365 10