问题标签 [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.
python - numpy中结构化数组的形状
我正在尝试预分配一个空数组,同时使用以下代码定义大小为 19x5 的数据类型:
结果有点出乎意料,产生了一个 19*5*5 的数组。但是,尝试:
给出每行(5 个字段)的适当长度,这显然看起来像一维数组。
当我试图写这个时,只允许这种格式:
这告诉我我正在处理一个字符串。有没有办法得到一个未展平的 19x5 形状的结构化阵列?
主要问题出现在使用 savetxt 编写时。我想要一个包含所有 5 列值的 csv 文件。由于这是作为字符串处理的,因此会给出错误的输出。
python - kwarg-splatting 一个 numpy 数组
我怎样才能编写一个使这项工作的包装类?
更多背景:
我有一对这样的函数,我想对其进行矢量化:
start_the_work
用一堆不同的参数调用的意图,然后最低成本的项目就完成了。两个函数都使用了许多相同的计算,因此使用字典和 kwarg-splatting 来传递这些结果:
我可以矢量化它们的一种方法如下:
但尽管看起来像一本字典,continuation
但不能被夸夸其谈。
python - 如何从 numpy 结构化数组中修改选定行的一列
我正在寻找一种简单的方法来修改它的选定行的 numpy 结构化数组的一个字段。这是我的 SWE:
在这个例子中,a==b
结果应该返回[False True True]
。实际上,我想从'name'字段中选择我的数组行并修改它的一个字段的值(这里是'x')。
python - 逐行访问 numpy 结构化数组
我试图通过迭代它的一个字段的值来逐行访问结构化数组,但即使值迭代得很好,数组的切片也不会改变。这是我的 SWE:
给我 :
在每次迭代中,我总是拥有相同的数组切片......奇怪吗?
python - 从 numpy 结构化数组中删除重复值
我有一个结构化数组v
,例如
通常v
会更大,使用其他例程计算的'a1'
, ...'a6'
值。假设v
是
我需要从每个条目中删除重复项,并(可选)对每个条目进行排序,以便在操作 之后v
,我有另一个看起来像的数组
我的预感是numpy.unique
,但我无法让它发挥作用。有任何想法吗?
python - 读/写 NumPy 结构化数组非常慢,线性大小慢
令我惊讶的是,我发现读取和写入 NumPy 结构化数组似乎在数组大小上是线性的。
由于这似乎非常错误,我想知道我是否在这里做错了,或者是否可能存在错误。
这是一些示例代码:
线分析给出以下结果:
如您所见,我什至不访问更大的数组(尽管 10.000 的大小实际上非常小......)。顺便说一句:shape=(10000,1) 而不是 (1,10000) 的行为相同。
有任何想法吗?
将结构化数组解释为字典列表,并与内置函数相比,预期的计算成本与大小无关(参见 C 和 D)
NumPy 版本。1.10.1。
python - 从字典列表创建一个 Record 数组
给定一个字典列表如下:
我想从字典数据创建一个记录数组。但是当我尝试以下我得到ValueError
错误:
ValueError: cannot set an array element with a sequence
我想知道我怎样才能有一个更正确dtype
的然后从字典列表中创建记录数组。
python - Python:记录数组的值无法在numpy中正确设置
我正在尝试创建一个具有特定值的记录数组。但是,我注意到无法正确设置记录数组的值。记录数组具有三个字段:“startstate”(一个标量)、“action”(一个 4x1 数组)和“transition”(一个 4x2 数组)。“startstate”可以很容易地设置。然而,对于其他两个字段,当我尝试使用另一个数组设置它们的值时,似乎只能正确设置第一个元素。下面的代码说明了这个问题
代码的输出:
对于每个字段,第一个数组给出实际值,而第二个数组给出正确值。理论上,它们应该是相同的,因为我已经使用以下设置了值:
任何人都可以帮助确定导致此问题的原因吗?我使用的 numpy 版本是 1.9.2
java - Java中的结构化数组
我正在尝试将我的 Objective C 代码迁移到 Java 以学习这种编程语言。
我想将以下 ObjectiveC 结构“转换”为 Java,但找不到等效的 Java 结构:
哪个是类似的 Java“对象”?
python - 使用 np.fromfile() 读取二进制文件
我有一个包含许多部分的二进制文件。每个部分都有自己的模式(即整数、浮点数和字符串的放置)。
每个部分的模式是已知的。但是,该模式在该部分中出现的次数是未知的。每条记录都在两个相同的整数之间。这些整数表示记录的大小。部分名称位于两个整数记录长度变量之间:8 和 8。此外,在每个部分中,有多个记录(已知)。
这是我的方法:
使用 循环并读取每条记录
f.read(record_length)
,如果记录是 8 字节,则转换为字符串,这将是节名称。然后我打电话:
np.fromfile(file,dtype=section_pattern,count=n)
我呼吁np.fromfile
每个部分。
我遇到的问题有两个:
- 如何在不进行第一遍阅读的情况下确定每个部分的 n?
- 读取每条记录以查找节名似乎相当低效。有没有更有效的方法来实现这一点?
部分名称始终位于两个整数记录变量之间:8 和 8。
这是一个示例代码,请注意,在这种情况下,我不必指定计数,因为 OES 部分是最后一部分: