我必须要分开的数组。
A = np.array([1, 10, 23, 42, 15, 352, 3, 3, 9, 10, 51, 92, 30, 32, 41, 42, 45, 2, 3, 4])
和数组B。然后,我想将A的前5个元素分隔为B
B = A[:5]
现在我要做的是从第5个元素开始遍历A,每次迭代后,将A中的1个元素添加到B中
for i in range(A[5:]):
B = A
print(B)
但这给了我:
TypeError:只能将整数标量数组转换为标量索引
我打印B时输出异常
[1, 10, 23, 42, 15]
[1, 10, 23, 42, 15, 352]
[1, 10, 23, 42, 15, 352, 3]
[1, 10, 23, 42, 15, 352, 3, 3]
[1, 10, 23, 42, 15, 352, 3, 3, 9]
...
[1, 10, 23, 42, 15, 352, 3, 3, 9, 10, 51, 92, 30, 32, 41, 42, 45, 2, 3, 4]
2 B = A[:5]
3
----> 4 for i in range(A[5:]):
5 B = A
6
TypeError: only integer scalar arrays can be converted to a scalar index
首先,range
不接受数组作为参数。您可能需要直接迭代数组的其余部分A
。然后,实际上的想法是使用该np.append
函数,但是将其存储B
在每次迭代中,以便将这些元素推A
入B
:
Python脚本
import numpy as np
A = np.array([1, 10, 23, 42, 15, 352, 3, 3, 9, 10, 51, 92, 30, 32, 41, 42, 45, 2, 3, 4])
B = A[:5]
for i in A[5:]:
B = np.append(B, i)
print(B)
输出量
[ 1 10 23 42 15 352]
[ 1 10 23 42 15 352 3]
[ 1 10 23 42 15 352 3 3]
[ 1 10 23 42 15 352 3 3 9]
[ 1 10 23 42 15 352 3 3 9 10]
[ 1 10 23 42 15 352 3 3 9 10 51]
[ 1 10 23 42 15 352 3 3 9 10 51 92]
[ 1 10 23 42 15 352 3 3 9 10 51 92 30]
[ 1 10 23 42 15 352 3 3 9 10 51 92 30 32]
[ 1 10 23 42 15 352 3 3 9 10 51 92 30 32 41]
[ 1 10 23 42 15 352 3 3 9 10 51 92 30 32 41 42]
[ 1 10 23 42 15 352 3 3 9 10 51 92 30 32 41 42 45]
[ 1 10 23 42 15 352 3 3 9 10 51 92 30 32 41 42 45 2]
[ 1 10 23 42 15 352 3 3 9 10 51 92 30 32 41 42 45 2 3]
[ 1 10 23 42 15 352 3 3 9 10 51 92 30 32 41 42 45 2 3 4]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句