在Python中在数组上加一列1的方法

在Python中,可以使用多种方法在数组上添加一列1。本文将介绍三种常用的方法,并提供相应的代码示例。具体而言,我们将使用numpy库和pandas库来实现这一操作。

方法一:使用numpy库

首先,我们需要导入numpy库:

import numpy as np

接下来,我们创建一个示例数组arr

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

现在,我们将使用numpyconcatenate函数将一列1添加到数组中。我们需要注意的是,我们需要将原数组arr的维度转换为二维数组,并在新数组的第二个维度中添加一列1。

# 将原数组转换为二维数组
arr_2d = np.atleast_2d(arr)

# 创建一列1
ones_column = np.ones((arr_2d.shape[0], 1))

# 使用concatenate函数将新列连接到数组中
arr_with_ones = np.concatenate((arr_2d, ones_column), axis=1)

现在,arr_with_ones就是添加了一列1的新数组。我们可以通过打印新数组来验证结果:

print(arr_with_ones)

执行以上代码,输出结果如下:

[[1. 2. 3. 1.]
 [4. 5. 6. 1.]
 [7. 8. 9. 1.]]

方法二:使用pandas库

首先,我们需要导入pandas库:

import pandas as pd

接下来,我们创建一个示例数据框df

df = pd.DataFrame({'A': [1, 4, 7], 'B': [2, 5, 8], 'C': [3, 6, 9]})

现在,我们可以使用pandasassign函数将一列1添加到数据框中。使用assign函数,我们可以指定新列的名称,并为新列赋予相同的值。

df_with_ones = df.assign(D=1)

现在,df_with_ones就是添加了一列1的新数据框。我们可以通过打印新数据框来验证结果:

print(df_with_ones)

执行以上代码,输出结果如下:

   A  B  C  D
0  1  2  3  1
1  4  5  6  1
2  7  8  9  1

方法三:使用列表推导式

除了使用库函数,我们还可以使用列表推导式来在数组上添加一列1。

首先,我们创建一个示例列表lst

lst = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

接下来,我们可以使用列表推导式来创建一个新的列表,其中每个子列表都添加了一个1:

lst_with_ones = [sublist + [1] for sublist in lst]

现在,lst_with_ones就是添加了一列1的新列表。我们可以通过打印新列表来验证结果:

print(lst_with_ones)

执行以上代码,输出结果如下:

[[1, 2, 3, 1], [4, 5, 6, 1], [7, 8, 9, 1]]

总结

本文介绍了三种常用的方法在Python中在数组上添加一列1。我们可以使用numpy库的concatenate函数,将一列1添加到二维数组中。我们还可以使用pandas库的assign函数,在数据框中添加一列1。另外,我们还可以使用列表推导式,在列表中的每个子列表中添加一列1。无论使用哪种方法,我们都可以轻松地在数组上添加一列1。


表格:

原数组 添加一列1后的数组
1 1
2 2
3 3
4 4
5 5