问题标签 [structured-array]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1193 浏览

python - numpy中结构化数组的形状

我正在尝试预分配一个空数组,同时使用以下代码定义大小为 19x5 的数据类型:

结果有点出乎意料,产生了一个 19*5*5 的数组。但是,尝试:

给出每行(5 个字段)的适当长度,这显然看起来像一维数组。

当我试图写这个时,只允许这种格式:

这告诉我我正在处理一个字符串。有没有办法得到一个未展平的 19x5 形状的结构化阵列?

主要问题出现在使用 savetxt 编写时。我想要一个包含所有 5 列值的 csv 文件。由于这是作为字符串处理的,因此会给出错误的输出。

0 投票
3 回答
766 浏览

python - kwarg-splatting 一个 numpy 数组

我怎样才能编写一个使这项工作的包装类?


更多背景:

我有一对这样的函数,我想对其进行矢量化:

start_the_work用一堆不同的参数调用的意图,然后最低成本的项目就完成了。两个函数都使用了许多相同的计算,因此使用字典和 kwarg-splatting 来传递这些结果:

我可以矢量化它们的一种方法如下:

但尽管看起来像一本字典,continuation但不能被夸夸其谈。

0 投票
1 回答
209 浏览

python - 如何从 numpy 结构化数组中修改选定行的一列

我正在寻找一种简单的方法来修改它的选定行的 numpy 结构化数组的一个字段。这是我的 SWE:

在这个例子中,a==b结果应该返回[False True True]。实际上,我想从'name'字段中选择我的数组行并修改它的一个字段的值(这里是'x')。

0 投票
1 回答
665 浏览

python - 逐行访问 numpy 结构化数组

我试图通过迭代它的一个字段的值来逐行访问结构化数组,但即使值迭代得很好,数组的切片也不会改变。这是我的 SWE:

给我 :

在每次迭代中,我总是拥有相同的数组切片......奇怪吗?

0 投票
2 回答
1093 浏览

python - 从 numpy 结构化数组中删除重复值

我有一个结构化数组v,例如

通常v会更大,使用其他例程计算的'a1', ...'a6'值。假设v

我需要从每个条目中删除重复项,并(可选)对每个条目进行排序,以便在操作 之后v,我有另一个看起来像的数组

我的预感是numpy.unique,但我无法让它发挥作用。有任何想法吗?

0 投票
2 回答
153 浏览

python - 读/写 NumPy 结构化数组非常慢,线性大小慢

令我惊讶的是,我发现读取和写入 NumPy 结构化数组似乎在数组大小上是线性的。

由于这似乎非常错误,我想知道我是否在这里做错了,或者是否可能存在错误。

这是一些示例代码:

线分析给出以下结果:

如您所见,我什至不访问更大的数组(尽管 10.000 的大小实际上非常小......)。顺便说一句:shape=(10000,1) 而不是 (1,10000) 的行为相同。

有任何想法吗?

将结构化数组解释为字典列表,并与内置函数相比,预期的计算成本与大小无关(参见 C 和 D)

NumPy 版本。1.10.1。

0 投票
2 回答
869 浏览

python - 从字典列表创建一个 Record 数组

给定一个字典列表如下:

我想从字典数据创建一个记录数组。但是当我尝试以下我得到ValueError

错误: ValueError: cannot set an array element with a sequence

我想知道我怎样才能有一个更正确dtype的然后从字典列表中创建记录数组。

0 投票
1 回答
60 浏览

python - Python:记录数组的值无法在numpy中正确设置

我正在尝试创建一个具有特定值的记录数组。但是,我注意到无法正确设置记录数组的值。记录数组具有三个字段:“startstate”(一个标量)、“action”(一个 4x1 数组)和“transition”(一个 4x2 数组)。“startstate”可以很容易地设置。然而,对于其他两个字段,当我尝试使用另一个数组设置它们的值时,似乎只能正确设置第一个元素。下面的代码说明了这个问题

代码的输出:

对于每个字段,第一个数组给出实际值,而第二个数组给出正确值。理论上,它们应该是相同的,因为我已经使用以下设置了值:

任何人都可以帮助确定导致此问题的原因吗?我使用的 numpy 版本是 1.9.2

0 投票
5 回答
199 浏览

java - Java中的结构化数组

我正在尝试将我的 Objective C 代码迁移到 Java 以学习这种编程语言。

我想将以下 ObjectiveC 结构“转换”为 Java,但找不到等效的 Java 结构:

哪个是类似的 Java“对象”?

0 投票
0 回答
537 浏览

python - 使用 np.fromfile() 读取二进制文件

我有一个包含许多部分的二进制文件。每个部分都有自己的模式(即整数、浮点数和字符串的放置)。

每个部分的模式是已知的。但是,该模式在该部分中出现的次数是未知的。每条记录都在两个相同的整数之间。这些整数表示记录的大小。部分名称位于两个整数记录长度变量之间:8 和 8。此外,在每个部分中,有多个记录(已知)。

这是我的方法:

  1. 使用 循环并读取每条记录f.read(record_length),如果记录是 8 字节,则转换为字符串,这将是节名称。

  2. 然后我打电话:np.fromfile(file,dtype=section_pattern,count=n)

我呼吁np.fromfile每个部分。

我遇到的问题有两个:

  1. 如何在不进行第一遍阅读的情况下确定每个部分的 n?
  2. 读取每条记录以查找节名似乎相当低效。有没有更有效的方法来实现这一点?

部分名称始终位于两个整数记录变量之间:8 和 8。

这是一个示例代码,请注意,在这种情况下,我不必指定计数,因为 OES 部分是最后一部分: