structured-array相关内容

既然您向结构化数组的一维切片中添加了一个新字段,为什么不能将新字段的条目设置为列表呢?

标题可能有点令人困惑,所以我希望我能通过一个例子让它更清楚。图像I有一个小帮助器函数,用于向已有的结构化数组添加新字段: import numpy as np def add_field(a, *descr): b = np.empty(a.shape, dtype=a.dtype.descr + [*descr]) for name in a.dtype.names: ..
发布时间:2022-07-02 09:19:45 Python

如何获取结构化数组选择的副本

我有一个混合类型的结构化数组: dt = np.dtype([('x', np.float64), ('y', np.float64), ('n', np.uint32)]) arr = np.empty(10, dtype=dt) 从numpy 1.16开始,如果我查看x和y,则会得到一个视图: >>> sub = arr[['x', 'y']] >>> sub array([( ..
发布时间:2020-05-18 23:50:16 Python

NumPy结构化数组的真正递归`tolist()`

据我了解,将NumPy数组转换为本地Python列表的推荐方法是使用 A,使用结构化数组时,这似乎无法递归工作.确实,某些ndarray对象在未转换的结果列表中被引用: >>> dtype = numpy.dtype([('position', numpy.int32, 3)]) >>> values = [([1, 2, 3],)] >>> a = numpy.array(values, ..
发布时间:2020-05-18 22:44:00 Python

添加和访问numpy结构化数组的对象类型字段

我正在使用numpy 1.16.2. 总之,我想知道如何向结构化数组添加对象类型字段.通过recfunctions模块的标准方式会引发错误,我想这是有原因的.因此,我想知道我的解决方法是否有问题.此外,我想了解为什么需要这种解决方法,以及在访问新创建的数组时是否需要格外小心. 现在是详细信息: 我有一个numpy结构化数组: import numpy as np a = n ..
发布时间:2020-05-18 21:55:04 Python

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

一个非常简单的问题:我有一个包含多个列的结构化数组,我只想用另一个预先存在的数组填充其中的一些(但不止一个). 这是我正在尝试的: strc = np.zeros(4, dtype=[('x', int), ('y', int), ('z', int)]) x = np.array([2, 3]) strc[['x', 'y']][0] = x 这给了我未来的警告: 主要:1 ..
发布时间:2020-05-18 21:22:27 Python

从numpy结构化数组中提取python'native'值

我有一个结构化的numpy数组. numpy结构与类型google.protobuf.Timestamp相匹配. 我需要从所述结构的每个元素中提取seconds int64和nanos int32并将其分配给 real Timestamp结构. 下面,我列出了一个脚本,该脚本可以方便所有人进行测试(需要安装numpy和protobuf Python模块). 如何摆脱/规避末 ..
发布时间:2020-05-18 20:11:49 Python

Numpy,将列添加到现有结构化数组

我有一个这样的起始数组: [(1, [-112.01268501699997, 40.64249414272372]) (2, [-111.86145708699996, 40.4945008710162])] 其中第一列是int,第二列是其中有浮点数的元组.我需要添加一个名为USNG的字符串列. 然后我像这样创建一个结构化的numpy数组: dtype = numpy.d ..
发布时间:2020-05-18 19:57:11 Python

numpy中结构化数组的形状

我正在尝试预分配一个空数组,同时使用以下代码定义大小为19x5的数据类型: import numpy as np arr=np.empty((19,5),dtype=[('a','|S1'),('b', 'f4'),('c', 'i'),('d', 'f4'),('e', 'f4')]) 结果有些出乎意料,产生了19 * 5 * 5的数组. 但是,尝试: arr=np.empty( ..
发布时间:2020-05-18 19:12:17 Python

以内存友好的方式将字段添加到结构化ndarray中-无需复制数据?

要将字段添加到结构化的numpy数组中,创建具有新dtype的新数组,复制旧字段并添加新字段非常简单.但是,我需要对占用大量内存的数组执行此操作,而我宁愿不复制所有内容.我自己的实现和numpy.lib.recfunctions.append_fields的(慢速)实现都重复内存. 有没有一种方法可以在不复制内存的情况下将字段添加到结构化的ndarray中?这意味着要避免创建新的ndarra ..
发布时间:2020-05-08 19:58:20 Python