问题标签 [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 回答
2016 浏览

python - 如何在 Numpy 中屏蔽记录数组的元素?

我了解如何创建屏蔽数组,并且我想在记录数组中使用屏蔽,以便可以使用命名属性访问这些数据。当我从屏蔽数组创建记录数组时,屏蔽似乎“丢失”了:

当我访问记录时,数据不会被屏蔽:

与原始数组不同:

我能做些什么?记录数组不支持屏蔽吗?在网上浏览时,我看到了一些代码示例,这些示例似乎另有说明,但不是很清楚。希望我能在这里得到一个好的答案。

0 投票
1 回答
230 浏览

arrays - numpy 结构化数组的分配问题

我正在尝试在 numpy 中将代码分配给结构化数组的这一简单行,我不确定,但是当我将矩阵分配给我创建的结构化数组中的 sub_array 时,会发生错误,如下所示:

在这个阶段子数组的第二个字段不应该等于

0 投票
1 回答
1805 浏览

python - numpy fromfile 和结构化数组

我正在尝试通过传入用户定义的数据类型numpy.fromfile来读取结构化数组(文件头)。出于某种原因,我的结构化数组元素以二维数组而不是平面一维数组的形式返回:

如何修改headerfmt以便将它们读取为平面一维数组?

0 投票
3 回答
1484 浏览

python - ndarray 到结构化数组并浮动到 int

我遇到的问题是,通过使用ndarray.view(np.dtype)从经典 ndarray 获取结构化数组似乎错误地计算了float转换int

例子说得更好:

'i' 和 'j' 列是真正的整数:

在这里你有两个我已经完成的进一步检查,问题似乎来自ndarray.view(np.int)

我究竟做错了什么?由于 numpy 分配内存,我不能更改类型吗?有没有另一种方法来做到这一点(fromarrays,指责一个shape mismatch

0 投票
1 回答
1749 浏览

python - numpy:如何一次填充结构化数组中的多个字段

非常简单的问题:我有一个包含多列的结构化数组,我只想用另一个预先存在的数组填充其中的一些(但不止一个)。

这就是我正在尝试的:

这给了我这个未来的警告:

main :1: FutureWarning: Numpy 检测到您(可能正在)写入由 numpy.diagonal 返回的数组或通过选择记录数组中的多个字段。此代码可能会在未来的 numpy 版本中中断 - 有关详细信息,请参阅 numpy.diagonal 或 arrays.indexing 参考文档。快速解决方法是进行显式复制(例如,执行 arr.diagonal().copy() 或 arr[['f0','f1']].copy())。

但即使这是一个警告,结构化数组也不会被填充。到目前为止,我正在迭代两个数组并且它可以工作,但我想这是非常低效的。有没有更好的办法?

0 投票
2 回答
322 浏览

python - 改组结构化数组(记录数组)

我怎样才能洗牌结构化数组。numpy.random.shuffle似乎不起作用。x此外,在以下示例中是否可以仅对给定字段进行洗牌。

我知道我可以明确给出随机索引,

但我想要一个适当的洗牌。

0 投票
6 回答
10071 浏览

python - numpy:如何将一列添加到现有的结构化数组中?

我有一个起始数组,例如:

第一列是一个int,第二列是一个listfloats我需要添加一个str名为'USNG'.

然后我创建一个结构化的 numpy 数组,如下所示:

我想将xnumpy 数组作为新列附加到现有数组中,因此我可以为每一行向该列输出一些信息。

当我执行以下操作时:

我收到以下错误:

我也试过vstackhstack

0 投票
1 回答
1972 浏览

python - Numpy 结构化数组:使用 dict 指定 dtype 时不理解字符串类型

如果我以不同的方式初始化具有相同字段名称和类型的结构数组,会发生以下情况:

所以用元组列表初始化工作正常。

所以用 dict 初始化不会,问题是字符串类型:

那里没有问题。有任何想法吗?这是一个 Numpy 错误吗?

numpy 版本:1.8.0

Python 2.7.6(默认,2013 年 11 月 10 日,19:24:24)[MSC v.1500 64 位 (AMD64)] 在 win32 上

0 投票
4 回答
629 浏览

python - 将具有各种数值数据类型的结构化数组转换为常规数组

假设我有一个具有各种数字数据类型的 NumPy 结构化数组。作为一个基本的例子,

如何将其转换为常规的 NumPy 浮点数组?

这个答案,我知道我可以使用

但显然它很慢,因为您“将有效打包的 NumPy 数组转换为常规 Python 列表”。

0 投票
3 回答
607 浏览

python - Numpy 中没有结构化数组的二元运算符?

好的,所以在阅读了关于 numpy 结构化数组的教程之后,我可以创建一些简单的示例:

(我的预期用例将包含三个以上的条目,并且将使用非常长的一维数组。)所以,在我们尝试执行一些基本数学之前,一切都很顺利。我收到以下所有错误:

显然,即使是最简单的结构化数组也不支持简单的运算符(+、-、*、/)。还是我错过了什么?我应该看其他一些软件包(不要说 Pandas,因为这完全是矫枉过正)?这似乎是一个明显的能力,所以我有点傻眼。但是在网上很难找到任何关于这个的喋喋不休。这不会严重限制结构化数组的有用性吗?为什么有人会使用结构数组而不是打包到字典中的数组?是否有技术原因导致这可能难以解决?或者,如果正确的解决方案是执行繁重的重载工作,那么如何在保持操作快速的同时完成呢?