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:
..
我有一个 形式的结构体数组 output = np.zeros(names.size, dtype=[('name', 'U32'), ('r', float),('m',float)]) 然后我尝试使用 np.savetxt 将其保存到 csv 文件中.我想知道是否有办法将每列的标签保存为 csv 文件的标题? 提前致谢. 解决方案 您可以尝试类似于 this SO answ
..
我有一个起始数组,例如: [(1, [-112.01268501699997, 40.64249414272372])(2, [-111.86145708699996, 40.4945008710162])] 第一列是 int,第二列是 floats 的 list.我需要添加一个名为 'USNG' 的 str 列. 然后我创建了一个结构化的 numpy 数组,如下所示: dtype =
..
我有一个混合类型的结构化数组: 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([(
..
我有一个包含5个元组的数据.前两个是整数索引i, j,后三个是浮点数xyz. data = [(1, 2, 3.141, 1.414, 2.718), (3, 4, 1.111, 2.222, 3.333), (0, 0, 0.000, 0.000, 0.000)] 我dt = [('ij', 'int', 2), ('xyz', 'float', 3)
..
我遇到的问题是,使用ndarray.view(np.dtype)从经典ndarray获取结构化数组似乎会错误地将float转换为int. 例子讲得更好: In [12]: B Out[12]: array([[ 1.00000000e+00, 1.00000000e+00, 0.00000000e+00, 0.00000000e+00, 4.43600000
..
我的dtype如下: pose_dtype = np.dtype([('x', np.float64), ('y', np.float64), ('theta', np.float64)]) 现在,我可以写: pose = np.array((1, 2, np.pi), dtype=pose_dtype) 我想添加一个xy字段,以使其更易于使用.我可以这样: pose_d
..
尝试将字段追加到大小为ONE的结构化数组时遇到运行时错误.我在下面写了一个简单的例子: import numpy as np import numpy.lib.recfunctions as rcfuncs dtype_ = np.dtype( { 'names': ["field_a","field_b","field_c"] , 'formats':
..
据我了解,将NumPy数组转换为本地Python列表的推荐方法是使用 A,使用结构化数组时,这似乎无法递归工作.确实,某些ndarray对象在未转换的结果列表中被引用: >>> dtype = numpy.dtype([('position', numpy.int32, 3)]) >>> values = [([1, 2, 3],)] >>> a = numpy.array(values,
..
注1:此问题中没有给出任何答案就我而言. 注2:该解决方案必须在NumPy 1.14中运行. 假设我具有以下结构化数组: arr = np.array([(105.0, 34.0, 145.0, 217.0)], dtype=[('a', 'f4'), ('b', 'f4'), ('c', 'f4'), ('d', 'f4')]). 现在,我将像这样分割为结构化数据类型:
..
我正在使用numpy 1.16.2. 总之,我想知道如何向结构化数组添加对象类型字段.通过recfunctions模块的标准方式会引发错误,我想这是有原因的.因此,我想知道我的解决方法是否有问题.此外,我想了解为什么需要这种解决方法,以及在访问新创建的数组时是否需要格外小心. 现在是详细信息: 我有一个numpy结构化数组: import numpy as np a = n
..
如果用不同的方式用相同的字段名称和类型初始化一个结构数组,会发生以下情况: >>> a = np.zeros(2, dtype=[('x','int64'),('y','a')]) >>> a array([(0L, ''), (0L, '')], dtype=[('x', '>> mdtyp
..
我了解如何创建掩码数组,并且我想在记录数组中使用掩码,以便可以使用命名属性访问此数据.从蒙版数组创建记录数组时,蒙版似乎“丢失"了: >>> data = np.ma.array(np.ma.zeros(30, dtype=[('date', '|O4'), ('price', '>> data masked_
..
一个非常简单的问题:我有一个包含多个列的结构化数组,我只想用另一个预先存在的数组填充其中的一些(但不止一个). 这是我正在尝试的: strc = np.zeros(4, dtype=[('x', int), ('y', int), ('z', int)]) x = np.array([2, 3]) strc[['x', 'y']][0] = x 这给了我未来的警告: 主要:1
..
我有一个结构化的numpy数组. numpy结构与类型google.protobuf.Timestamp相匹配. 我需要从所述结构的每个元素中提取seconds int64和nanos int32并将其分配给 real Timestamp结构. 下面,我列出了一个脚本,该脚本可以方便所有人进行测试(需要安装numpy和protobuf Python模块). 如何摆脱/规避末
..
我有一个这样的起始数组: [(1, [-112.01268501699997, 40.64249414272372]) (2, [-111.86145708699996, 40.4945008710162])] 其中第一列是int,第二列是其中有浮点数的元组.我需要添加一个名为USNG的字符串列. 然后我像这样创建一个结构化的numpy数组: dtype = numpy.d
..
好的,因此,在看完numpy的结构化数组的教程之后,我可以创建一些简单的示例: from numpy import array, ones names=['scalar', '1d-array', '2d-array'] formats=['float64', '(3,)float64', '(2,2)float64'] my_dtype = dict(names=names, format
..
我正在尝试预分配一个空数组,同时使用以下代码定义大小为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(
..
我想从某些字段中获取信息,然后使用列表将它们写到另一个变量中. import numpy as np var1 = np.array([(1,2,3,4),(11,22,33,44),(111,222,333,444)], dtype=([('field1', 'int32'),('field2','int32'),('field3','int32'),('field4','int32')]
..
要将字段添加到结构化的numpy数组中,创建具有新dtype的新数组,复制旧字段并添加新字段非常简单.但是,我需要对占用大量内存的数组执行此操作,而我宁愿不复制所有内容.我自己的实现和numpy.lib.recfunctions.append_fields的(慢速)实现都重复内存. 有没有一种方法可以在不复制内存的情况下将字段添加到结构化的ndarray中?这意味着要避免创建新的ndarra
..