np.concatenate函数数组序列参数
引言
这里对我们之前------np.concatenate()函数做一个补充说明。
我们知道对于 np.concatenate()
函数,其第一个参数为需要被合并的数组对象集合,这里我们以两个输入数组 a1
和 a2
序列举例,根据我们之前提到的,第一个参数的数组需要使用 ()
或者 []
符号括起来,否则会报错。这里我们举例进行说明。
示例1------无 () 或者 [] 符号
import numpy as np
x = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
y = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
z = np.concatenate(x, y)
print(z)
"""
result:
Traceback (most recent call last):
File "D:/python/scientificCalculation/Interference/dug.py", line 14, in <module>
z = np.concatenate(x, y)
File "<__array_function__ internals>", line 5, in concatenate
TypeError: only integer scalar arrays can be converted to a scalar index
"""
可以看到,当我们不使用 ()
或者 []
符号将需要被级联(拼接)的数组括起来时,会得到一个错误提示,翻译过来就是,类型错误,仅整数标量数组能够被转换为一个标量索引。也就是说输入进 np.concatenate()
函数的第一个数据应该是一个数组形式的。显然上述输入不符合。
示例2------使用 () 符号
import numpy as np
x = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
y = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
z = np.concatenate((x, y))
print(z)
"""
result:
[[[1 2]
[3 4]]
[[5 6]
[7 8]]
[[1 2]
[3 4]]
[[5 6]
[7 8]]]
"""
可以看到,当使用 ()
符号时,我们得到了结果。
示例3------使用 [] 符号
import numpy as np
x = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
y = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
z = np.concatenate([x, y])
print(z)
"""
result:
[[[1 2]
[3 4]]
[[5 6]
[7 8]]
[[1 2]
[3 4]]
[[5 6]
[7 8]]]
"""
可以看到,当使用 []
符号时,我们也得到了结果。
总结
输入 np.concatenate()
函数的第一个数据应该是一个数组形式的,所以必须用 ()
或者 []
符号括起来。
如果大家觉得有用,就请点个赞吧~