pandas添加新列的5种常见方法

  • Post category:Python

下面我将详细介绍“pandas添加新列的5种常见方法”的完整攻略。

1. 直接赋值

我们可以使用赋值操作符(=)直接在DataFrame中添加新列。例如:

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']})

# 添加新列
df['C'] = [4, 5, 6]

# 显示DataFrame
print(df)

输出结果为:

   A  B  C
0  1  a  4
1  2  b  5
2  3  c  6

在上面的示例中,我们首先创建了一个DataFrame,然后使用赋值操作符(=)添加了一个名为“C”的新列,并且指定了该列中的值。当我们运行df.head()函数时,C列将包括在内,并显示新添加的值。

需要注意的是,如果我们添加的新列已经存在于DataFrame中,那么将使用新的值覆盖该列。如果要避免这种情况,可以使用第二种方法来添加新列。

2. 使用DataFrame.assign()

我们可以使用DataFrame.assign()方法在DataFrame中添加新列。例如:

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']})

# 添加新列
df = df.assign(C=[4, 5, 6])

# 显示DataFrame
print(df)

输出结果为:

   A  B  C
0  1  a  4
1  2  b  5
2  3  c  6

在上面的示例中,我们首先创建了一个DataFrame,然后使用DataFrame.assign()方法添加了一个名为“C”的新列,并且指定了该列中的值。要注意的是,与第一种方法不同,使用assign()方法添加新列时,如果新列与原有列同名,它不会覆盖现有列的值。

3. 使用.loc[]

我们可以使用.loc[]方法在DataFrame中添加新列。例如:

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']})

# 添加新列
df.loc[:, 'C'] = [4, 5, 6]

# 显示DataFrame
print(df)

输出结果为:

   A  B  C
0  1  a  4
1  2  b  5
2  3  c  6

在上面的示例中,我们首先创建了一个DataFrame,然后使用.loc[]方法添加了一个名为“C”的新列,并且指定了该列中的值。

4. 使用Series

我们可以使用Series在DataFrame中添加新列。例如:

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']})

# 创建一个Series
s = pd.Series([4, 5, 6])

# 添加新列
df['C'] = s

# 显示DataFrame
print(df)

输出结果为:

   A  B  C
0  1  a  4
1  2  b  5
2  3  c  6

在上面的示例中,我们首先创建了一个DataFrame和一个Series,然后使用Series将新列添加到DataFrame中。Series中的值将自动与DataFrame的索引保持同步。

5. 使用numpy.array

我们可以使用numpy.array在DataFrame中添加新列。例如:

import pandas as pd
import numpy as np

# 创建一个DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']})

# 创建一个numpy数组
arr = np.array([4, 5, 6])

# 添加新列
df['C'] = arr

# 显示DataFrame
print(df)

输出结果为:

   A  B  C
0  1  a  4
1  2  b  5
2  3  c  6

在上面的示例中,我们首先创建了一个DataFrame和一个numpy数组,然后使用该数组将新列添加到DataFrame中。这个方法与使用Series的方法类似,只是我们使用了numpy数组而不是Series。

这就是“pandas添加新列的5种常见方法”的完整攻略,包括了上面五种不同的方法,并且每种方法都有详细的示例来说明如何使用。希望你能在实际应用中加以运用。