在python中编写[1:20,25:30]的最有效方法是什么

维琪

matlab 中,我们可以使用 编写一个从 1 到 30 的列表,不包括 21-24 [1:20,25:30]在python中最有效的方法是什么?

另一个问题是,是否有一种有效的方法可以在 python中删除列表中的一个元素或ndarray中的一列通过简单的设置,这与在matlab 中相同A[:,1]=[]吗?

保利

在 MATLAB/八度音阶中

[1:20,25:30]

发生 3 件事 - 1:20,并25:30生成矩阵,并将[ ]它们合并为一个矩阵。

>> [1:20,25:30]
ans =
 Columns 1 through 16:
    1    2    3    4    5    6    7    8    9   10   11   12   13   14   15   16
 Columns 17 through 26:
   17   18   19   20   25   26   27   28   29   30
>> A = 1:20;
>> B = 25:30;
>> [A, B]
ans =
 Columns 1 through 16:
    1    2    3    4    5    6    7    8    9   10   11   12   13   14   15   16
 Columns 17 through 26:
   17   18   19   20   25   26   27   28   29   30

相当于numpy

In [193]: A = np.arange(1,21);
In [194]: B = np.arange(25,31);
In [195]: np.concatenate((A,B))
Out[195]: 
array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17,
       18, 19, 20, 25, 26, 27, 28, 29, 30])

有迹象表明,做samething等功能,但所有最终使用concatenatenp.blocknp.hstacknp.r_等等concatenate是基本numpy为沿着一个维度或另一个接合阵列功能。


在 Python 中,您可以使用类似的语法从列表中删除元素:

In [201]: alist = list(range(10))
In [202]: alist
Out[202]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
In [203]: alist[3:6] = []
In [204]: alist
Out[204]: [0, 1, 2, 6, 7, 8, 9]

但这不适用于numpy数组。它们的大小是固定的。您能做的最好的事情是创建一个没有选定零件的新列表。有一个np.delete可以为您做这件事,但它是一种方便而不是速度工具。

In [205]: arr = np.arange(10)
In [207]: np.delete(arr, slice(3,6))
Out[207]: array([0, 1, 2, 6, 7, 8, 9])

delete根据移除对象做各种事情。我认为在这种情况下它会将切片复制到一个新数组

In [208]: res = np.zeros(10-3, arr.dtype)
In [209]: res[:3]=arr[:3]
In [210]: res[3:]=arr[6:]
In [211]: res
Out[211]: array([0, 1, 2, 6, 7, 8, 9])

或者也许只是:

In [212]: np.concatenate([arr[:3], arr[6:]])
Out[212]: array([0, 1, 2, 6, 7, 8, 9])

特别是如果删除值是一个列表,而不是一个切片,则delete使用一个mask

In [213]: mask = np.ones(arr.shape, dtype=bool)
In [214]: mask[3:6]=0
In [215]: mask
Out[215]: 
array([ True,  True,  True, False, False, False,  True,  True,  True,
        True])
In [216]: arr[mask]
Out[216]: array([0, 1, 2, 6, 7, 8, 9])

MATLAB 可以通过将更多操作移到编译代码中来更快地完成其中一些事情。但我预计,逻辑将是相似的。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python:打印列表的最有效方法是什么?

来自分类Dev

在Haxe中循环最有效的方法是什么?

来自分类Dev

在python中以二进制输出编写的最有效方法是什么?

来自分类Dev

在python中以二进制输出编写的最有效方法是什么?

来自分类Dev

在javascript中获取数字的最低有效位的最有效方法是什么?

来自分类Dev

从Python中的类方法返回多个值的最有效方法是什么?

来自分类Dev

从Python中的类方法返回多个值的最有效方法是什么?

来自分类Dev

在Python中增加大量值的最有效方法是什么?

来自分类Dev

在Python 3中,更改列表中值的最有效方法是什么?

来自分类Dev

编写此程序的最有效方法是什么?(里面的细节)

来自分类Dev

R:用R编写此公式的最有效方法是什么?

来自分类Dev

时间序列:为子集编写代码的最有效方法是什么?

来自分类Dev

在iOS中显示具有多列的表的最有效方法是什么?

来自分类Dev

在Python中最有效的睡眠方式是什么?

来自分类Dev

从JavaScript中从大型数组中删除单个元素的最有效方法是什么?

来自分类Dev

在python中找到线与圆的交点的最有效方法是什么?

来自分类Dev

遍历列表和设置最大值Python的最有效方法是什么?

来自分类Dev

在 Python 3.0 中使用 Beautiful Soup 获取特定链接的最有效方法是什么?

来自分类Dev

在C#中;从后台线程检查更改的最有效方法是什么?

来自分类Dev

在JavaScript数组中检查数字序列的最有效方法是什么?

来自分类Dev

在JavaScript中合并多个排序对象数组的最有效方法是什么?

来自分类Dev

在Java中实现GroupBy的最有效方法是什么?

来自分类Dev

在大量阅读的Riak中存储时间序列的最有效方法是什么

来自分类Dev

在Vim中复制和粘贴括号及其内容的最有效方法是什么?

来自分类Dev

在Windows上从文件中删除前N个字节的最有效方法是什么?

来自分类Dev

在WPF中渲染非托管视频帧的最有效方法是什么?

来自分类Dev

在关系数据库中记录同胞的最有效方法是什么?

来自分类Dev

在PHP中处理全局变量的最有效方法是什么?

来自分类Dev

同步熊猫中两个大数据帧的最有效方法是什么?

Related 相关文章

  1. 1

    Python:打印列表的最有效方法是什么?

  2. 2

    在Haxe中循环最有效的方法是什么?

  3. 3

    在python中以二进制输出编写的最有效方法是什么?

  4. 4

    在python中以二进制输出编写的最有效方法是什么?

  5. 5

    在javascript中获取数字的最低有效位的最有效方法是什么?

  6. 6

    从Python中的类方法返回多个值的最有效方法是什么?

  7. 7

    从Python中的类方法返回多个值的最有效方法是什么?

  8. 8

    在Python中增加大量值的最有效方法是什么?

  9. 9

    在Python 3中,更改列表中值的最有效方法是什么?

  10. 10

    编写此程序的最有效方法是什么?(里面的细节)

  11. 11

    R:用R编写此公式的最有效方法是什么?

  12. 12

    时间序列:为子集编写代码的最有效方法是什么?

  13. 13

    在iOS中显示具有多列的表的最有效方法是什么?

  14. 14

    在Python中最有效的睡眠方式是什么?

  15. 15

    从JavaScript中从大型数组中删除单个元素的最有效方法是什么?

  16. 16

    在python中找到线与圆的交点的最有效方法是什么?

  17. 17

    遍历列表和设置最大值Python的最有效方法是什么?

  18. 18

    在 Python 3.0 中使用 Beautiful Soup 获取特定链接的最有效方法是什么?

  19. 19

    在C#中;从后台线程检查更改的最有效方法是什么?

  20. 20

    在JavaScript数组中检查数字序列的最有效方法是什么?

  21. 21

    在JavaScript中合并多个排序对象数组的最有效方法是什么?

  22. 22

    在Java中实现GroupBy的最有效方法是什么?

  23. 23

    在大量阅读的Riak中存储时间序列的最有效方法是什么

  24. 24

    在Vim中复制和粘贴括号及其内容的最有效方法是什么?

  25. 25

    在Windows上从文件中删除前N个字节的最有效方法是什么?

  26. 26

    在WPF中渲染非托管视频帧的最有效方法是什么?

  27. 27

    在关系数据库中记录同胞的最有效方法是什么?

  28. 28

    在PHP中处理全局变量的最有效方法是什么?

  29. 29

    同步熊猫中两个大数据帧的最有效方法是什么?

热门标签

归档