问题标签 [recarray]

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 回答
67 浏览

python - 将数组值添加到标识符与其他数组匹配的 numpy recarray

我正在尝试根据其中一列中的标识符字符串将一个recarray( in_arr)中的值分配给另一个( )。out_arr要正确分配值,其中的字符串id必须匹配。

一些限制:

  • 中的元素数量in_arr可以小于或大于中的数量out_arr
  • 中的每个标识符in_arr都表示在中out_arr,不一定相反
  • 如果数字in_arr更大,条目将重复,并且可以分配其中任何一个
  • 中的每个标识符out_arr都是唯一的
  • 结果的元素顺序无关紧要
  • 我宁愿不循环遍历每个元素;-)

这是一些代码:

最接近的,我来替换我的“魔法部分”是借用这个问题。但这只会给我正确的索引,而不是正确的顺序。

0 投票
1 回答
52 浏览

pandas - 3D numpy 重新排列

数据大致描述了该 id 当天 20 列的值

我正在创建一个多维数据集来更好地切片我的数据,不幸的是,通过使用这样的语句,我可以用只有float64在存储方面变得非常昂贵的数据类型的数据填充我的第二维。我没有找到将上述多维数据集声明为 rec 数组的方法,以使我可以适应data_ix维度异构数据类型。

或者,有没有办法用 2 个索引来表示一个 3d 数组(多维数据集)以轻松切片(时间和 id)以使用 pandas 数据帧获取相应的数据集?

0 投票
1 回答
39 浏览

numpy - np.recarray 分配非常慢

我用 ndarray 存储刻度,每个刻度都有一个 utc_timestamp[str] 作为索引,刻度价格/vols 作为值。因此,我有一个包含 2 个不同 dtypes(str 和 float)的数组。这就是我将它存储为 np.recarray 的方式

每个循环需要 1.38 毫秒!另外,我无法使用 data[-1] = tick 设置最后一行,这会引发 ValueError: setting an array element with a sequence

让我们尝试简单的 ndarray,假设我有 2 个单独的数组,一个用于 str,一个用于 float

看?快了 90 倍!这是为什么?

0 投票
1 回答
44 浏览

python - 具有不同 dtype 的结构化(记录)数组上的 ufunc(最小值、最大值、平均值等)

我正在使用 numpy(1.20.3) 在 Python(3.8) 中工作,并尝试在具有不同数据类型的结构化数组上执行简单的函数。

这会导致“TypeError:无法使用灵活类型执行 reduce”。

我试图创建一些东西,然后通过通用结构化数组并返回具有相同数据类型的每个字段数组的生成视图......但这似乎不起作用。

这导致 0.0 和 0 这不是我所期望的。我应该得到 [0, 0.01] 和 1。

有人有什么好主意吗?

0 投票
1 回答
31 浏览

python - Numpy recarray函数抛出TypeError:无法使用灵活类型执行reduce

我想numpy.recarrays按照此处所述使用:numpy.recarray

我构造了numpy.recarray类似的描述并希望执行简单.max().sum()方法:

但是,我得到:

TypeError:无法使用灵活类型执行归约

我错过了什么?

0 投票
1 回答
22 浏览

python-3.x - 如何从现有结构中添加或构造嵌套的 numpy 结构化数组

一般来说,我的问题是关于创建/附加到嵌套结构化数组的可能方法。特别是dtype结构已知的地方,但嵌套元素的大小没有预先定义。我用join_byandfromarray方法尝试了不同的东西,但没有成功。文档示例似乎表明连接类型方法对于某种“压缩”数据很有用,而不是真正扩展它?

定义的数据类型

创建 2 行 'd'

如何制作多行'c'?

如何在不预先定义“c”大小的情况下做到这一点?附加/扩展嵌套元素似乎不起作用在最低级别,“c”可用于构造一个recarray

但是现在,有没有办法从现有的结构化数组构造下一个层次?我认为构造一个形状似乎可以广播的数组会起作用,但它失败了

我还尝试了重新排列结构,它们有自己的问题