np.concatenate()函数数组序列参数的实现

2023-03-13 11:03:41 序列 函数 数组

引言

这里对我们之前------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() 函数的第一个数据应该是一个数组形式的,所以必须用 () 或者 [] 符号括起来。

到此这篇关于np.concatenate()函数数组序列参数的实现的文章就介绍到这了,更多相关np.concatenate 数组序列参数内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关文章