Python – 将Pandas DataFrame中的一列移动到第一位置?
使用pop()将列弹出,再使用insert()方法插入即可移动列。首先,创建一个包含3列的DataFrame –
dataFrame = pd.DataFrame(
{
"学生": ['Jack', 'Robin', 'Ted', 'Marc', 'Scarlett', 'Kat', 'John'],"结果": ['及格', '不及格', '及格', '不及格', '及格', '及格', '及格'],"学号": [ 5, 10, 3, 8, 2, 9, 6]
}
)
将”学号”列移动到第一位置,先将该列弹出 –
shiftPos = dataFrame.pop("学号")
在第一位置插入该列 –
dataFrame.insert(0, "学号", shiftPos)
更多Pandas文章,请阅读:Pandas教程
示例
以下是代码 –
import pandas as pd
# 创建DataFrame
dataFrame = pd.DataFrame(
{
"学生": ['Jack', 'Robin', 'Ted', 'Marc', 'Scarlett', 'Kat', 'John'],"结果": ['及格', '不及格', '及格', '不及格', '及格', '及格', '及格'],"学号": [ 5, 10, 3, 8, 2, 9, 6]
}
)
print("DataFrame ...\n",dataFrame)
# 将"学号"列移动到第一位置
shiftPos = dataFrame.pop("学号")
# 在第一位置插入该列
dataFrame.insert(0, "学号", shiftPos)
print("\n移动列到第一位置后的DataFrame ...\n",dataFrame)
输出
这将产生以下输出 –
DataFrame ...
结果 学号 学生
0 及格 5 Jack
1 不及格 10 Robin
2 及格 3 Ted
3 不及格 8 Marc
4 及格 2 Scarlett
5 及格 9 Kat
6 及格 6 John
移动列到第一位置后的DataFrame ...
学号 结果 学生
0 5 及格 Jack
1 10 不及格 Robin
2 3 及格 Ted
3 8 不及格 Marc
4 2 及格 Scarlett
5 9 及格 Kat
6 6 及格 John