我有两个numpy数组:一个包含任意值,另一个包含大于1的整数。整数之和等于第一个数组的长度。示例:
values = np.array(["a", "b", "c", "d", "e", "f", "g", "h"])
lengths = np.array([1, 3, 2, 2])
len(values) == sum(lengths) # True
我想根据第二个数组的长度拆分第一个数组,最后得到如下结果:
output = np.array([["a"], ["b", "c", "d"], ["e", "f"], ["g", "h"]], dtype=object)
用Python循环迭代数组很容易,但当两个列表都很大(数亿个元素)时,迭代速度也很慢,有没有一种方法可以使用本机numpy操作来完成这个操作,这样应该会更快?
1条答案
按热度按时间e5nqia271#
可以使用numpy中的
split
方法: