numpy中数组拼接、数组合并方法总结
在numpy中,有多种方法可以用于数组拼接和数组合并。这些方法包括append()
、concatenate()
、hstack()
、vstack()
、column_stack()
、row_stack()
、np_
和np.c_
等。下面将对这些方法进行详细讲解。
append()
append()
方法可以用于在数组的末尾添加元素。它的语法如下:
numpy.append(arr, values, axis=None)
其中,arr
是要添加元素的数组,values
是要添加的元素,axis
是要添加元素的轴。如果axis
未指定,则默认为None
,此时将返回一个扁平化的数组。
下面是一个示例:
import numpy as np
# 创建一个数组
arr = np.array([1, 2, 3])
# 在数组末尾添加元素
new_arr = np.append(arr, [4, 5, 6])
print(new_arr)
输出结果为:
[1 2 3 4 5 6]
concatenate()
concatenate()
方法可以用于沿着指定的轴连接两个或多个数组。它的语法如下:
numpy.concatenate((a1, a2, ...), axis=0)
其中,a1
、a2
等是要连接的数组,axis
是要连接的轴。如果axis
未指定,则默认为0
,此时将沿着第一个轴连接数组。
下面是一个示例:
import numpy as np
# 创建两个数组
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6]])
# 沿着第一个轴连接数组
new_arr = np.concatenate((arr1, arr2), axis=0)
print(new_arr)
输出结果为:
[[1 2]
[3 4]
[5 6]]
hstack()
hstack()
方法可以用于沿着水平方向连接两个或多个数组。它的语法如下:
numpy.hstack(tup)
其中,tup
是要连接的数组元组。
下面是一个示例:
import numpy as np
# 创建两个数组
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
# 沿着水平方向连接数组
new_arr = np.hstack((arr1, arr2))
print(new_arr)
输出结果为:
[1 2 3 4 5 6]
vstack()
vstack()
方法可以用于沿着垂直方向连接两个或多个数组。它的语法如下:
numpy.vstack(tup)
其中,tup
是要连接的数组元组。
下面是一个示例:
import numpy as np
# 创建两个数组
arr1 = np.array([[1], [2], [3]])
arr2 = np.array([[4], [5], [6]])
# 沿着垂直方向连接数组
new_arr = np.vstack((arr1, arr2))
print(new_arr)
输出结果为:
[[1]
[2]
[3]
[4]
[5]
[6]]
column_stack()
column_stack()
方法可以用于沿着列方向连接两个或多个一维数组,然后将它们作为列堆叠成一个二维数组。它的语法如下:
numpy.column_stack(tup)
其中,tup
是要连接的一维数组元组。
下面是一个示例:
import numpy as np
# 创建两个一维数组
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
# 沿着列方向连接数组
new_arr = np.column_stack((arr1, arr2))
print(new_arr)
输出结果为:
[[1 4]
[2 5]
[3 6]]
row_stack()
row_stack()
方法可以用于沿着行方向连接两个或多个一维数组,然后将它们作为行堆叠成一个二维数组。它的语法如下:
numpy.row_stack(tup)
其中,tup
是要连接的一维数组元组。
下面是一个示例:
import numpy as np
# 创建两个一维数组
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
# 沿着行方向连接数组
new_arr = np.row_stack((arr1, arr2))
print(new_arr)
输出结果为:
[[1 2 3]
[4 5 6]]
np.r_
np.r_
方法可以用于沿着行方向连接两个或多个数组。它的语法如下:
numpy.r_[array1, array2, ...]
其中,array1
、array2
等是要连接的数组。
下面是一个示例:
import numpy as np
# 创建两个数组
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
# 沿着行方向连接数组
new_arr = np.r_[arr1, arr2]
print(new_arr)
输出结果为:
[1 2 3 4 5 6]
np.c_
np.c_
方法可以用于沿着列方向连接两个或个数组。它的语法如下:
numpy.c_[array1, array2, ...]
其中,array1
、array2
等是要连接的数组。
下面是一个示例:
import numpy as np
# 创建两个数组
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
# 沿着列方向连接数组
new_arr = np.c_[arr1, arr2]
print(new_arr)
输出结果为:
[[1 4]
[2 5]
[3 6]]
这就是关于numpy中数组拼接、数组合并方法的完整攻略。我们可以使用append()
方法在数组末尾添加元素,使用concatenate()
方法沿着指定的轴连接两个或多个数组,使用hstack()
方法沿着水平方向连接两个或多个数组,使用vstack()
方法沿着垂直方向连接两个或多个数组,使用column_stack()
方法沿着列方向连接两个或多个一维数组,使用row_stack()
方法沿着行方向连接两个或多个一维数组,使用np.r_
方法沿着行方向连接两个或多个数组,使用np.c_
方法沿着列方向连接两个或多个数组。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:numpy中数组拼接、数组合并方法总结(append(), concatenate, hstack, vstack, column_stack, row_stack, np.r_, np.c_等) - Python技术站