NumPy hstack() 函数



NumPy 的hstack()函数用于水平堆叠数组。它沿水平轴(即轴1)组合一系列数组。

所有输入数组必须具有相同数量的行或兼容的形状才能进行广播,并且该函数返回一个列连接的新数组。

此函数对于并排合并数组非常有用,尤其是在数据处理和操作任务中。

它也适用于将多个数组组合成单个数组,其中每个数组都作为一列添加。

语法

NumPy hstack() 函数的语法如下:

numpy.hstack(tup, *, dtype=None, casting='same_kind')

参数

以下是 NumPy hstack() 函数的参数:

  • tup: 要堆叠的数组元组。这些数组除了第二轴之外,沿所有轴都必须具有相同的形状。
  • dtype: 此参数指定结果数组的数据类型。如果提供,则所有输入数组在堆叠之前都将转换为此数据类型。如果为 None,则数据类型将根据输入数组确定。
  • casting: 如果指定了 dtype,此参数控制类型转换规则。它确定在转换为 dtype 时如何处理数据类型。

返回值

此函数返回通过水平堆叠给定数组形成的单个 ndarray。

示例 1

以下是 NumPy hstack() 函数的示例,它演示了如何将两个一维数组连接成一个一维数组。

import numpy as np

# Creating two 1D arrays
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])

# Stacking arrays horizontally
result = np.hstack((array1, array2))
print(result)

输出

[1 2 3 4 5 6]

示例 2

此示例演示如何重塑一维数组并将其与二维数组堆叠,展示了 numpy.hstack() 在混合维度下的灵活性。

import numpy as np

# Creating a 2D array and a 1D array
array1 = np.array([[1, 2, 3], [4, 5, 6]])
array2 = np.array([7, 8])

# Reshape array2 to be a column vector with the same number of rows as array1
# Note: array2 needs to have the same number of rows as array1 for successful horizontal stacking
array2 = np.array([7, 8]).reshape(-1, 1)  # Reshape to (2, 1) to match the number of rows in array1

# Stack arrays horizontally
result = np.hstack((array1, array2))

print("Resulting Array:")
print(result)

输出

Resulting Array:
[[1 2 3 7]
 [4 5 6 8]]

示例 3

在此示例中,我们将两个数组组合成一个数组。

import numpy as np

# Define the first array
a = np.array([[1, 2], [3, 4]])

print('First array:')
print(a)
print('\n')

# Define the second array
b = np.array([[5, 6], [7, 8]])

print('Second array:')
print(b)
print('\n')

# Horizontally stack the two arrays
c = np.hstack((a, b))

print('Horizontal stacking:')
print(c)
print('\n')

输出

First array:
[[1 2]
 [3 4]]


Second array:
[[5 6]
 [7 8]]


Horizontal stacking:
[[1 2 5 6]
 [3 4 7 8]]
numpy_array_manipulation.htm
广告
© . All rights reserved.