【问题标题】:SIice a numpy array based on an interval?SIice 基于间隔的 numpy 数组?
【发布时间】:2021-01-26 09:23:22
【问题描述】:

是否可以在 numpy 中系统地将长度为 m 的一维数组按间隔 n 切片?假设我有一个包含 1000 个值的列表,我可以轻松地将其分成 10 个包含 100 个值的列表吗?

【问题讨论】:

  • np.split

标签: numpy slice numpy-slicing program-slicing


【解决方案1】:

您可以同时使用np.array_split()np.split(),它们实际上是相同的,但需要注意一点(根据np.array_split()

来自文档:

x = np.arange(8.0)

np.array_split(x, 3)

#Result
[array([0.,  1.,  2.]), array([3.,  4.,  5.]), array([6.,  7.])]

将一个数组拆分为多个子数组。

请参阅拆分文档。之间的唯一区别 这些功能是 array_split 允许 indices_or_sections 是 一个不等分轴的整数。对于一个数组 长度 l 应该被分成 n 部分,它返回 l % n 大小为 l//n + 1 和其余大小为 l//n 的子数组。

【讨论】:

    【解决方案2】:

    array_split 也允许以不等间距进行拆分,如果这能满足您的需求

    ar = np.arange(0, 20, dtype='int')
    
    s = [2, 7, 12, 17]
    
    np.array_split(ar, s)
    Out[80]: 
    [array([0, 1]),
     array([2, 3, 4, 5, 6]),
     array([ 7,  8,  9, 10, 11]),
     array([12, 13, 14, 15, 16]),
     array([17, 18, 19])]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-24
      • 1970-01-01
      • 2020-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多