当前位置: 首页 > 面试题库 >

用Numpy将数组分割成N个块

公良俊楚
2023-03-14
问题内容

这就是您如何将列表分成大小均匀的块?
用于将数组拆分为多个块。无论如何,对于使用Numpy的巨型阵列,这样做是否更有效率?


问题答案:

尝试numpy.array_split

从文档中:

>>> x = np.arange(8.0)
>>> np.array_split(x, 3)
    [array([ 0.,  1.,  2.]), array([ 3.,  4.,  5.]), array([ 6.,  7.])]

与相同numpy.split,但如果组的长度不相等,则不会引发异常

如果块数> len(array),您将获得嵌套在内部的空白数组,以解决此问题-如果将拆分数组保存在中a,则可以通过以下方式删除空数组:

[x for x in a if x.size > 0]

只需将其保存回去即可a



 类似资料:
  • 问题内容: 想象一下,我有一个这样的JS数组: 我想要的是将该数组拆分为N个较小的数组。例如: 对于Python,我有这个: 对于JS,我可以提出的最佳解决方案是递归函数,但我不喜欢它,因为它既复杂又丑陋。这个内部函数返回一个像这样的数组[1,2,3,null,4,5,6,null,7,8],然后我必须再次循环并手动拆分它。(我的第一次尝试是返回此:[1、2、3,[4、5、6,[7、8、9]]],

  • 本文向大家介绍python numpy--数组的组合和分割实例,包括了python numpy--数组的组合和分割实例的使用技巧和注意事项,需要的朋友参考一下 数组的组合主要有: 1.水平组合:np.hstack(arr1,arr2) 或 concatenate(arr1,arr2,axis=1) 2.垂直组合:np.vstack(arr1,arr2) 或 concatenate(arr1,arr

  • 我一直陷在这个问题中,找不到有效的解决办法。 我有N(高达1000万)说最大100个元素的数组。这些数组包含1-10000的数字。 现在我的问题是将这些数组划分为K个组,这样我就可以最小化所有数组中的重复项,即一个数组包含1,4,10,100,另一个数组包含1100。我希望他们进入同一组,因为这样可以最大限度地减少口是心非。我的问题的两个限制条件如下- > 组中向量的数量应均匀分布。 根据大小以递

  • 问题 你想将一个模块分割成多个文件。但是你不想将分离的文件统一成一个逻辑模块时使已有的代码遭到破坏。 解决方案 程序模块可以通过变成包来分割成多个独立的文件。考虑下下面简单的模块: # mymodule.py class A: def spam(self): print('A.spam') class B(A): def bar(self): pr

  • 问题内容: 我想使用PHP将文本拆分成单个单词。你有什么想法要实现吗? 我的方法: 这是一个好方法吗?您有改进的想法吗? 提前致谢! 问题答案: 使用与任何Unicode标点符号匹配的\ p {P}类和\ s空格类。 这将拆分为一组一个或多个空格字符,但也会吸收周围的所有标点符号。它还在字符串的开头或结尾匹配标点符号。这区分了诸如“不要”和“他说’哎呀!’”之类的情况。

  • 我有一个数组,并希望将其广播到,但仅适用于的情况。否则应该用零填充。当然,我可以创建新的空数组并用填充它,如下所示: 不幸的是,这两个方法都用值填充所有对。 我的问题是,如果这是可能的创建数组的形状我需要使用大步和没有实际复制数据?