Pandas 如何添加一个带有常量值的列
在数据处理中,我们经常需要为现有的数据框添加一列,这时候可以使用Pandas提供的assign()
方法。但是当我们要添加的这列需要统一赋值时,我们可以使用insert()
方法或直接使用等号“=”赋值。在本文中,我们将介绍在Pandas数据框中添加一个带有常量值的新列的两种方法,并分别给出示例。
阅读更多:Pandas 教程
方法一:使用 insert() 方法
insert()
方法用于在数据框中插入一列,它可以指定插入到哪个位置、为新列命名以及赋一个唯一的常量值。
以下是示例代码:
import pandas as pd
# 创建一个数据框
df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8]})
# 使用 insert() 方法添加一列 C,并指定位置为1,赋值为10
df.insert(1, 'C', 10)
print(df)
运行上面的代码,输出如下:
A C B
0 1 10 5
1 2 10 6
2 3 10 7
3 4 10 8
在这个示例中,insert()
方法中的第一个参数1代表插入位置的索引,即将这列插入到数据框中的第二列。第二个参数’C’是添加的新列的名称。最后一个参数10是新列赋的常量值。
使用insert()
方法的优点是可以在任意位置插入列,而不会影响原先的列的顺序和数据。其缺点是较麻烦,需要指定列的位置和名称。
方法二:使用等号“=”赋值
使用等号“=”赋值相对来说更加简单,只需要在数据框后面紧跟着等号和常量值即可。但是需要保证定义的常量值类型与数据框其他列的类型相同,否则会引发类型错误。
以下是示例代码:
import pandas as pd
# 创建一个数据框
df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8]})
# 添加一列 C 并赋值为10
df['C'] = 10
print(df)
运行上面的代码,输出如下:
A B C
0 1 5 10
1 2 6 10
2 3 7 10
3 4 8 10
在这个示例中,我们只需在数据框中指定新列的名称和相应的值即可,无需考虑位置。缺点是可能会更改原先列的顺序和数据,不利于数据整理。
总结
本文介绍了在Pandas数据框中添加带有常量值的新列的两种方法。insert()
方法非常灵活,可以在任意位置插入新列,保留原先列的顺序和数据。使用等号“=”赋值相对比较简洁,但可能更改原先列的顺序和数据。在实际应用中,根据具体情况选择相应的方法。