使用列表重新排列:如何引用列表中的第一个元素

kcw78

我想将记录数组中几个字段的内容复制到 ndarray(均为 float64 类型)中。当 recarray 数据在每个字段中都有一个值时,我知道如何执行此操作:

my_ndarray[:,0]=my_recarray['X']  #(for field 'X')

现在我有一个在每个字段中有 5 个浮点数的列表的 recarray,我只想复制每个列表的第一个元素。当我将上述内容与新的 recarray(和列表)一起使用时,出现此错误:

ValueError: could not broadcast input array from shape (92,5) into shape (92)

这完全有道理(事后看来)。

我以为我可以用这个得到每个元素的第一个元素:

my_ndarray[:,0]=my_recarray['X'][0]  #(for field 'X')

我收到此错误:

ValueError: could not broadcast input array from shape (5) into shape (92)

我有点明白……numpy 只取第一行(5 个元素)并尝试广播到 92 个元素的列。

所以....现在我想知道如何将每个列表的第一个元素放在 92 元素列中,Scratchin my head.... 提前感谢您的建议。

保利

我的猜测是,recarray有一个dtype地方的领域之一,具有形状5:

In [48]: dt = np.dtype([('X',int,5),('Y',float)])
In [49]: arr = np.zeros(3, dtype=dt)
In [50]: arr
Out[50]: 
array([([0, 0, 0, 0, 0], 0.), ([0, 0, 0, 0, 0], 0.),
       ([0, 0, 0, 0, 0], 0.)], dtype=[('X', '<i8', (5,)), ('Y', '<f8')])

按名称访问此字段会生成一个 (3,5) 形状的数组(类似于您的 (92,5)):

In [51]: arr['X']
Out[51]: 
array([[0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0]])

这可以描述为每个记录的 5 个项目的列表,但是使用字段名称进行索引会产生一个二维数组,它可以像任何二维 numpy 数组一样进行索引。

让我们将这些值设置为一些有趣的东西:

In [52]: arr['X'] = np.arange(15).reshape(3,5)
In [53]: arr
Out[53]: 
array([([ 0,  1,  2,  3,  4], 0.), ([ 5,  6,  7,  8,  9], 0.),
       ([10, 11, 12, 13, 14], 0.)],
      dtype=[('X', '<i8', (5,)), ('Y', '<f8')])

我们可以使用以下命令获取该字段的第一列:

In [54]: arr['X'][:,0]
Out[54]: array([ 0,  5, 10])

如果您有多个具有类似结构的字段,您可能必须按名称访问每个字段。您可以使用多字段索引执行的操作是有限的。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从现有列表列表中创建第一个元素的新列表

来自分类Dev

Python-如何替换列表列表中每个列表的第一个元素

来自分类Dev

重新排列列表中的元素

来自分类Dev

在jQuery中重新排列列表元素

来自分类Dev

如何使用第一个列表的相应元素制作两个不同的列表?

来自分类Dev

如何删除列表中列表中的第一个元素?

来自分类Dev

R-使用列表中每个项目的第一个元素过滤列表

来自分类Dev

Python:嵌套列表中的第一个元素

来自分类Dev

列表中的第一个元素出现故障

来自分类Dev

列表中的第一个元素haskell

来自分类Dev

返回Haskell中列表的第一个元素

来自分类Dev

在列表中删除元组的第一个元素

来自分类Dev

如何重新排列列表中的对象

来自分类Dev

如何将列表中的每个元素除以第一个元素

来自分类Dev

如何在Python中匹配两个不同列表的第一个元素

来自分类Dev

如何从Selenium Java中的json列表中获取第一个元素?

来自分类Dev

如何将列表列表隐藏到数据框中并使列表的第一个元素作为索引

来自分类Dev

如何将列表列表隐藏到数据框中并使列表的第一个元素作为索引

来自分类Dev

计算列表中连续元素之间的差异时,如何保持列表中的第一个元素不变?

来自分类Dev

如何从链接列表中删除第一个元素?

来自分类Dev

如何在XQuery 1.0中提取列表的第一个元素?

来自分类Dev

如何按元组中的第一个元素对元组列表进行排序?

来自分类Dev

如何获取二维列表中的每个第一个元素

来自分类Dev

在Swift中,如何检查Array的第一个元素是否等于值列表?

来自分类Dev

如何在玉器中给列表的第一个元素上课?

来自分类Dev

如何在python中搜索列表的第一个元素

来自分类Dev

如何通过循环将矩阵的第一个元素附加到列表中?

来自分类Dev

如何提取每个子列表中每个元组的第一个元素?

来自分类Dev

如何获取python列表中的第一个元素并检查它是否为None?

Related 相关文章

  1. 1

    如何从现有列表列表中创建第一个元素的新列表

  2. 2

    Python-如何替换列表列表中每个列表的第一个元素

  3. 3

    重新排列列表中的元素

  4. 4

    在jQuery中重新排列列表元素

  5. 5

    如何使用第一个列表的相应元素制作两个不同的列表?

  6. 6

    如何删除列表中列表中的第一个元素?

  7. 7

    R-使用列表中每个项目的第一个元素过滤列表

  8. 8

    Python:嵌套列表中的第一个元素

  9. 9

    列表中的第一个元素出现故障

  10. 10

    列表中的第一个元素haskell

  11. 11

    返回Haskell中列表的第一个元素

  12. 12

    在列表中删除元组的第一个元素

  13. 13

    如何重新排列列表中的对象

  14. 14

    如何将列表中的每个元素除以第一个元素

  15. 15

    如何在Python中匹配两个不同列表的第一个元素

  16. 16

    如何从Selenium Java中的json列表中获取第一个元素?

  17. 17

    如何将列表列表隐藏到数据框中并使列表的第一个元素作为索引

  18. 18

    如何将列表列表隐藏到数据框中并使列表的第一个元素作为索引

  19. 19

    计算列表中连续元素之间的差异时,如何保持列表中的第一个元素不变?

  20. 20

    如何从链接列表中删除第一个元素?

  21. 21

    如何在XQuery 1.0中提取列表的第一个元素?

  22. 22

    如何按元组中的第一个元素对元组列表进行排序?

  23. 23

    如何获取二维列表中的每个第一个元素

  24. 24

    在Swift中,如何检查Array的第一个元素是否等于值列表?

  25. 25

    如何在玉器中给列表的第一个元素上课?

  26. 26

    如何在python中搜索列表的第一个元素

  27. 27

    如何通过循环将矩阵的第一个元素附加到列表中?

  28. 28

    如何提取每个子列表中每个元组的第一个元素?

  29. 29

    如何获取python列表中的第一个元素并检查它是否为None?

热门标签

归档