如何在 python 中将 numpy 数组拆分为单独的数组。分割数由用户指定,分割基于索引
我想将我的 numpy 数组拆分为单独的数组。分离必须基于索引。分割计数由用户给出。
例如, 输入数组:my_array=[1,2,3,4,5,6,7,8,9,10]
如果用户给出分割计数=2, 那么,分割必须类似于
my_array1=[1,3,5,7,9]
my_array2=[2,4,6,8,10]
如果用户给出分割计数=3,那么 输出数组必须是
my_array1=[1,4,7,10]
my_array2=[2,5,8]
my_array3=[3,6,9]
任何人都可以解释一下,我使用偶奇概念对拆分计数 2 进行了操作,
for i in range(len(outputarray)):
if i%2==0:
even_array.append(outputarray[i])
else:
odd_array.append(outputarray[i])
我不知道如何根据索引对变量计数(如 3、4、5)进行拆分。
I want to split my numpy array into separate arrays. The separation must be based on the index. The split count is given by the user.
For example,
The input array: my_array=[1,2,3,4,5,6,7,8,9,10]
If user gives split count =2,
then, the split must be like
my_array1=[1,3,5,7,9]
my_array2=[2,4,6,8,10]
if user gives split count=3, then
the output array must be
my_array1=[1,4,7,10]
my_array2=[2,5,8]
my_array3=[3,6,9]
could anyone please explain, I did for split count 2 using even odd concept
for i in range(len(outputarray)):
if i%2==0:
even_array.append(outputarray[i])
else:
odd_array.append(outputarray[i])
I don't know how to do the split for variable counts like 3,4,5 based on the index.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用矢量索引(又名 花式索引) 对于它:
解释
arange(i, len(a), n)
生成一个以以下开头的整数数组i
,跨度不超过len(a)
,步长为n
。例如,对于i = 0
它会生成一个数组现在,当您使用另一个数组对一个数组进行索引时,您将获得所请求索引处的元素:
对于 i=1..2 重复这些步骤,结果是所需的数组列表。
You can use indexing by vector (aka fancy indexing) for it:
Explanation
arange(i, len(a), n)
generates an array of integers starting withi
, spanning no longer thanlen(a)
with stepn
. For example, fori = 0
it generates an arrayNow when you index an array with another array, you get the elements at the requested indices:
These steps are repeated for i=1..2 resulting in the desired list of arrays.
这是执行任务的仅 Python 方法
输入:
输出:
Here is a python-only way of doing your task
Input:
Output: