给numpy数组添加列

给numpy数组添加列

参考:add column to numpy array

介绍

NumPy是Python中用于科学计算的一个重要库。它提供了高性能的多维数组对象以及用于处理这些数组的函数。在某些情况下,我们可能需要向NumPy数组中添加新的列。本文将介绍如何使用NumPy向数组中添加列。

方法

方法一:使用numpy.hstack

函数numpy.hstack可以把两个数组水平合并为一个数组。

import numpy as np

# 创建一个3x3的二维数组
array1 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 创建一个1x3的一维数组
array2 = np.array([10, 11, 12])

# 使用hstack合并数组
result = np.hstack((array1, array2[:, np.newaxis]))

print(result)

运行结果:

给numpy数组添加列

方法二:使用numpy.column_stack

函数numpy.column_stack可以按列方式合并数组。

import numpy as np

# 创建一个2x2的二维数组
array1 = np.array([[1, 2], [3, 4]])

# 创建一个2x1的二维数组
array2 = np.array([[5], [6]])

# 使用column_stack合并数组
result = np.column_stack((array1, array2))

print(result)

运行结果:

给numpy数组添加列

方法三:使用numpy.concatenate

函数numpy.concatenate可以按指定轴(默认为0)合并数组。

import numpy as np

# 创建一个3x3的二维数组
array1 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 创建一个1x3的二维数组
array2 = np.array([[10, 11, 12]])

# 使用concatenate合并数组
result = np.concatenate((array1, array2), axis=0)

print(result)

运行结果:

给numpy数组添加列

方法四:使用numpy.insert

函数numpy.insert可以在指定位置插入新的列。

import numpy as np

# 创建一个3x3的二维数组
array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 创建一个1x3的一维数组
new_column = np.array([10, 11, 12])

# 在位置1插入新的列
result = np.insert(array, 1, new_column, axis=1)

print(result)

运行结果:

给numpy数组添加列

方法五:使用numpy.pad

函数numpy.pad可以在数组的边缘填充值。

import numpy as np

# 创建一个3x3的二维数组
array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 创建一个3x1的二维数组
new_column = np.array([[10], [11], [12]])

# 在右侧填充新的列
result = np.pad(array, ((0, 0), (0, 1)), mode='constant', constant_values=0)
result[:, -1:] = new_column

print(result)

运行结果:

给numpy数组添加列

结论

以上介绍了几种在NumPy数组中添加列的方法。根据具体需求,我们可以选择适合的方法进行操作。无论是使用numpy.hstacknumpy.column_stacknumpy.concatenatenumpy.insert还是numpy.pad,都能够在NumPy数组中成功添加新的列。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程