你会有这样的需求,例如你有这样一张表:
结果如下:
ㅤ | Name | Age | Grade |
0 | Alice | 25 | 85 |
1 | Bob | 22 | 92 |
2 | Charlie | 24 | 78 |
3 | David | 23 | 88 |
这个是2023年上学期的成绩,于是你又加了一列
现在结果如下:
ㅤ | Name | Age | Grade | semester |
0 | Alice | 25 | 85 | 2023上 |
1 | Bob | 22 | 92 | 2023上 |
2 | Charlie | 24 | 78 | 2023上 |
3 | David | 23 | 88 | 2023上 |
但是,semester这列它是一个类似于索引的东西,放在最后一列你总觉得看着不舒服,于是你想把它挪到第一列,方法如下:
现在结果如下:
semester | Name | Age | Grade | ㅤ |
0 | 2023上 | Alice | 25 | 85 |
1 | 2023上 | Bob | 22 | 92 |
2 | 2023上 | Charlie | 24 | 78 |
3 | 2023上 | David | 23 | 88 |
好好好,已经成功了。
下面解释一下
insert
这个函数,insert
是Pandas中DataFrame对象的一个函数,用于在指定位置插入新的列。它的语法如下:参数说明:
loc
: 一个整数,表示要插入新列的位置索引。例如,loc=0
表示将新列插入到第一列的位置。
column
: 一个字符串,表示新列的名称。
value
: 用于填充新列的值。可以是一个标量、一个数组(或列表),或者是一个Series对象,它会自动与DataFrame的索引对齐。
allow_duplicates
: 一个布尔值,表示是否允许插入重复的列名。默认为False
,即不允许插入重复的列名。如果设为True
,则可以插入重复的列名。
使用
insert
函数,你可以在DataFrame的任意位置插入新的列,并且可以控制新列的名称和值。在前面的例子中,我们使用
df.insert(0, 'Grade', df.pop('Grade'))
,将'semester'列移动到第一列的位置。其中,0
表示插入位置是第一列,'Grade'
是新列的名称,df.pop('Grade')
表示取出原来的'semester'列的值作为新列的值。