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

基本代码5000

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

[(1, [-112.01268501699997, 40.64249414272372])
 (2, [-111.86145708699996, 40.4945008710162])]

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

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

dtype = numpy.dtype([('USNG', '|S100')])
x = numpy.empty(array.shape, dtype=dtype)

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

当我执行以下操作时:

numpy.append(array, x, axis=1)

我收到以下错误:

'TypeError: invalid type promotion'

我也尝试过vstackhstack

沃伦·韦克瑟

您必须创建一个包含新字段的新dtype。

例如,这里是a

In [86]: a
Out[86]: 
array([(1, [-112.01268501699997, 40.64249414272372]),
       (2, [-111.86145708699996, 40.4945008710162])], 
      dtype=[('i', '<i8'), ('loc', '<f8', (2,))])

a.dtype.descr[('i', '<i8'), ('loc', '<f8', (2,))]; 即字段类型列表。我们将通过添加('USNG', 'S100')到该列表的末尾来创建新的dtype

In [87]: new_dt = np.dtype(a.dtype.descr + [('USNG', 'S100')])

现在创建一个新的结构化数组bzeros在这里使用过,因此字符串字段将从value开始''您也可以使用empty这些字符串将包含垃圾,但是如果您立即为其分配值,则无所谓。

In [88]: b = np.zeros(a.shape, dtype=new_dt)

将现有数据从复制ab

In [89]: b['i'] = a['i']

In [90]: b['loc'] = a['loc']

b现在是这里

In [91]: b
Out[91]: 
array([(1, [-112.01268501699997, 40.64249414272372], ''),
       (2, [-111.86145708699996, 40.4945008710162], '')], 
      dtype=[('i', '<i8'), ('loc', '<f8', (2,)), ('USNG', 'S100')])

用一些数据填写新字段:

In [93]: b['USNG'] = ['FOO', 'BAR']

In [94]: b
Out[94]: 
array([(1, [-112.01268501699997, 40.64249414272372], 'FOO'),
       (2, [-111.86145708699996, 40.4945008710162], 'BAR')], 
      dtype=[('i', '<i8'), ('loc', '<f8', (2,)), ('USNG', 'S100')])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将数组的新属性添加到现有的json数据

来自分类Dev

如何将键添加到现有的多个数组

来自分类Dev

如何将新的列族添加到现有的HBase表中?

来自分类Dev

如何将新字段/列添加到现有的 xBase 文件/表

来自分类Dev

是否可以将dtype设置为现有的结构化数组,或为现有数组添加“列名”?

来自分类Dev

将数组添加到现有的$ _SESSION数组

来自分类Dev

将 JSON 数组添加到现有的 JSON

来自分类Dev

如何将列添加到numpy数组

来自分类Dev

如何将新的对象存储添加到现有的indexeddb

来自分类Dev

如何将Maven工件添加到现有的Maven项目中

来自分类Dev

如何将分支从新的远程添加到现有的Git项目?

来自分类Dev

如何将IEnumerable <T>添加到现有的ICollection <T>

来自分类Dev

如何将监视模块添加到现有的Android Studio项目中?

来自分类Dev

如何将新类添加到现有的edmx文件

来自分类Dev

如何将slave添加到现有的update-alternatives链接组?

来自分类Dev

如何将.aspx页添加到现有的MVC 4项目?

来自分类Dev

如何将现有的Eclipse Java项目添加到git

来自分类Dev

如何将wcf服务添加到现有的类库

来自分类Dev

如何将现有的Visual Studio项目添加到空的git存储库

来自分类Dev

如何将JLabel添加到现有的JTextField

来自分类Dev

如何将新行添加到现有的txt文件

来自分类Dev

如何将gcc包含目录添加到现有的Makefile

来自分类Dev

如何将另一个UIViewController添加到现有的UINavigationController

来自分类Dev

如何将现有的JPanel添加到TitledPane

来自分类Dev

如何将新字段添加到现有的Django模型postgres

来自分类Dev

如何将新节点添加到现有的Corda网络?

来自分类Dev

如何将C#方法添加到现有的大型wix脚本中

来自分类Dev

如何将列表添加到现有的json文件?

来自分类Dev

如何将LiveView添加到现有的Elixir / Phoenix应用程序?

Related 相关文章

  1. 1

    如何将数组的新属性添加到现有的json数据

  2. 2

    如何将键添加到现有的多个数组

  3. 3

    如何将新的列族添加到现有的HBase表中?

  4. 4

    如何将新字段/列添加到现有的 xBase 文件/表

  5. 5

    是否可以将dtype设置为现有的结构化数组,或为现有数组添加“列名”?

  6. 6

    将数组添加到现有的$ _SESSION数组

  7. 7

    将 JSON 数组添加到现有的 JSON

  8. 8

    如何将列添加到numpy数组

  9. 9

    如何将新的对象存储添加到现有的indexeddb

  10. 10

    如何将Maven工件添加到现有的Maven项目中

  11. 11

    如何将分支从新的远程添加到现有的Git项目?

  12. 12

    如何将IEnumerable <T>添加到现有的ICollection <T>

  13. 13

    如何将监视模块添加到现有的Android Studio项目中?

  14. 14

    如何将新类添加到现有的edmx文件

  15. 15

    如何将slave添加到现有的update-alternatives链接组?

  16. 16

    如何将.aspx页添加到现有的MVC 4项目?

  17. 17

    如何将现有的Eclipse Java项目添加到git

  18. 18

    如何将wcf服务添加到现有的类库

  19. 19

    如何将现有的Visual Studio项目添加到空的git存储库

  20. 20

    如何将JLabel添加到现有的JTextField

  21. 21

    如何将新行添加到现有的txt文件

  22. 22

    如何将gcc包含目录添加到现有的Makefile

  23. 23

    如何将另一个UIViewController添加到现有的UINavigationController

  24. 24

    如何将现有的JPanel添加到TitledPane

  25. 25

    如何将新字段添加到现有的Django模型postgres

  26. 26

    如何将新节点添加到现有的Corda网络?

  27. 27

    如何将C#方法添加到现有的大型wix脚本中

  28. 28

    如何将列表添加到现有的json文件?

  29. 29

    如何将LiveView添加到现有的Elixir / Phoenix应用程序?

热门标签

归档