📅  最后修改于: 2023-12-03 15:24:44.376000             🧑  作者: Mango
在Python中,可以使用pandas库来操作数据框。有时候我们需要在数据框开头添加一列数据。下面我们来见证一下两种添加方式。
pandas的DataFrame类中提供了一个insert()函数,可以在指定位置添加列。
import pandas as pd
# 创建数据框
data = {'name': ['A', 'B', 'C'],
'age': [20, 30, 25]}
df = pd.DataFrame(data)
# 待添加的列
new_col = ['male', 'female', 'male']
# 在第一列位置添加列
df.insert(0, 'gender', new_col)
print(df)
运行结果:
gender name age
0 male A 20
1 female B 30
2 male C 25
pandas的DataFrame类中还提供了一个assign()函数,可以添加一列到数据框的最前面。需要注意的是,assign()函数返回的是新的数据框,不会修改原始数据框。
import pandas as pd
# 创建数据框
data = {'name': ['A', 'B', 'C'],
'age': [20, 30, 25]}
df = pd.DataFrame(data)
# 待添加的列
new_col = ['male', 'female', 'male']
# 添加列
df = pd.concat([pd.DataFrame(new_col, columns=['gender']), df], axis=1)
print(df)
运行结果:
gender name age
0 male A 20
1 female B 30
2 male C 25
以上是两种在数据框开头添加列的方法,方法一比较简单,但是如果要添加多列,需要多次使用insert()函数,比较繁琐。方法二使用了concat()函数,稍微复杂一点,但是可以一次添加多列。根据实际需求选择合适的方法即可。