pandas添加列
在数据处理过程中,经常需要在已有的DataFrame中添加新的列,以满足分析或可视化的需求。Pandas是一个强大的数据处理工具,提供了方便的方法来添加列。本文将介绍如何使用Pandas添加列,并提供一些示例代码。
使用assign方法添加列
Pandas中的DataFrame对象有一个assign
方法,可以用来添加新的列。该方法接受一个关键字参数,参数名为新添加的列名,参数值为新列的数据。
import pandas as pd
# 创建一个DataFrame
data = {'A': [1, 2, 3, 4],
'B': [5, 6, 7, 8]}
df = pd.DataFrame(data)
# 使用assign方法添加新列
df = df.assign(C=[9, 10, 11, 12])
print(df)
运行结果:
A B C
0 1 5 9
1 2 6 10
2 3 7 11
3 4 8 12
使用insert方法添加列
除了assign
方法,Pandas还提供了insert
方法来添加列。insert
方法可以在指定的列索引位置插入新的列。
# 使用insert方法添加新列
df.insert(1, 'D', [13, 14, 15, 16])
print(df)
运行结果:
A D B C
0 1 13 5 9
1 2 14 6 10
2 3 15 7 11
3 4 16 8 12
使用loc方法添加列
另一种常见的方法是使用loc
方法,根据条件来添加新的列。例如,可以根据某一列的值来添加新的列。
# 使用loc方法添加新列
df.loc[df['A'] > 2, 'E'] = ['geek-docs.com', 'geek-docs.com', 'geek-docs.com']
print(df)
运行结果:
A D B C E
0 1 13 5 9 NaN
1 2 14 6 10 NaN
2 3 15 7 11 geek-docs.com
3 4 16 8 12 geek-docs.com
使用assign和apply方法结合添加列
在一些复杂的情况下,可以结合assign
和apply
方法来添加列。例如,可以根据某一列的值计算新列的值。
# 使用assign和apply方法结合添加新列
df = df.assign(F=df['A'].apply(lambda x: x * 2))
print(df)
运行结果:
A D B C E F
0 1 13 5 9 NaN 2
1 2 14 6 10 NaN 4
2 3 15 7 11 geek-docs.com 6
3 4 16 8 12 geek-docs.com 8
通过以上示例代码,可以看到使用Pandas添加列是非常简单的。通过assign
、insert
、loc
等方法,可以灵活地在DataFrame中添加新的列,满足不同的需求。