下面我将详细介绍“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种常见方法”的完整攻略,包括了上面五种不同的方法,并且每种方法都有详细的示例来说明如何使用。希望你能在实际应用中加以运用。